'Enable/disable patterns form helper', 'arguments' => array( 'action' => "Valid values: enable, disable.", ) ), $items['patterns allow publish'] = array( 'description' => 'Enable/disable patterns publishing', 'arguments' => array( 'action' => "Valid values: enable, disable.", ) ), $items['patterns paths'] = array( 'description' => "List all paths patterns will be looked for", ); $items['patterns list'] = array( 'description' => "List all available patterns.", ); $items['patterns info'] = array( 'description' => "Show all info on a given pattern.", 'arguments' => array( 'pid' => "The ID of the pattern to show info.", ) ); $items['patterns enable'] = array( 'description' => ".", 'arguments' => array( 'pid' => "The ID of the pattern to enable.", ), 'aliases' => array('patterns run') ); $items['patterns publish'] = array( 'description' => "Publish a pattern.", 'arguments' => array( 'pid' => "The ID of the pattern to publish.", ) ); $items['patterns unpublish'] = array( 'description' => "Unpublish a pattern.", 'arguments' => array( 'pid' => "The ID of the pattern to unpublish.", ) ); $items['patterns import'] = array( 'description' => "Import a pattern (from file or url).", 'arguments' => array( '' => "", ) ); $items['patterns run'] = array( 'description' => ".", 'arguments' => array( 'pid' => "The ID of the pattern to run.", ) ); return $items; } /** * Implementation of hook_drush_help(). */ function patterns_drush_help($section) { switch ($section) { case 'drush:patterns list': return dt("List all available patterns."); } } /** * patterns list command callback. */ function drush_patterns_patterns_form_helper($action) { if ($action == 'enable') variable_set('patterns_form_helper', TRUE); else: variable_set('patterns_form_helper', FALSE); } /** * patterns list command callback. */ function drush_patterns_patterns_allow_publish($action) { if ($action == 'enable') variable_set('patterns_allow_publish', TRUE); else: variable_set('patterns_allow_publish', FALSE); } /** * patterns list command callback. */ function drush_patterns_patterns_paths() { $paths = patterns_paths(); drush_print("Paths to look for patterns:"); foreach ($paths as $path) drush_print("- $path", 4); drush_print_pipe(implode(', ', $paths)); } /** * patterns list command callback. */ function drush_patterns_patterns_list() { $patterns = patterns_get_patterns(); $rows[] = array(dt('Id'), dt('Name'), dt('Title'), dt('Status'), dt('Version')); foreach($patterns as $pid => $pattern) { $rows[] = array($pattern->pid, $pattern->name, $pattern->title, $pattern->status, $pattern->info['version']); $pipe[] = $pattern->title; } drush_print_table($rows, TRUE); drush_print_pipe(implode(' ', $pipe)); } /** * patterns list command callback. */ function drush_patterns_patterns_info($pid) { $pattern = patterns_get_pattern($pid); $info = ""; $info .= sprintf(" %-18s: %s\n", 'PID', $pattern->pid); $info .= sprintf(" %-18s: %s\n", 'Name', $pattern->name); $info .= sprintf(" %-18s: %s\n", 'File', $pattern->file); $info .= sprintf(" %-18s: %s\n", 'Status', $pattern->status); $info .= sprintf(" %-18s: %s\n", 'Public', $pattern->public); $info .= sprintf(" %-18s: %s\n", 'Updated', $pattern->updated); $info .= sprintf(" %-18s: %s\n", 'Enabled', $pattern->enabled); foreach ($pattern->pattern['info'] as $key => $value) { $info .= sprintf(" %-18s: %s\n", ucfirst($key), $value); } $info .= sprintf(" %-18s: %s\n", 'Modules', implode(', ', $pattern->pattern['modules'])); print $info; } /** * patterns enable command callback. */ function drush_patterns_patterns_enable($pid) { patterns_execute_pattern($pattern, $form_state['values']); } /** * patterns publish command callback. */ function drush_patterns_patterns_publish($pid) { if (is_numeric($pid)) { $result = db_query("UPDATE {patterns} SET public = 1 WHERE pid = %d", $pid); } } /** * patterns unpublish command callback. */ function drush_patterns_patterns_unpublish($pid) { if (is_numeric($pid)) { $result = db_query("UPDATE {patterns} SET public = 0 WHERE pid = %d", $pid); } } /** * patterns import command callback. */ function drush_patterns_patterns_import($uri) { }