protected function executeCoreHelp($arguments, $options) { if (isset($options['--namespace'])) { $tasks = array($options['--namespace'] => sgCLI::getInstance()->getTasks($options['--namespace'])); sgCLI::println(sprintf('Available commands in "%s" namespace:', $options['--namespace']), sgCLI::STYLE_HEADER); } else { $tasks = sgCLI::getInstance()->getTasks(); sgCLI::println('Available commands:', sgCLI::STYLE_HEADER); } sgCLI::println(); $max = 0; foreach ($tasks as $taskList) { $current = strlen(max(array_keys($taskList))); if ($current > $max) { $max = $current; } } foreach ($tasks as $namespace => $taskList) { sgCLI::println($namespace . ':', sgCLI::STYLE_INFO); foreach ($taskList as $command => $task) { $width = $max + strlen(sgCLI::formatText('', sgCLI::STYLE_INFO)) + 4; sgCLI::println(sprintf(" %-{$width}s %s", sgCLI::formatText($command, sgCLI::STYLE_INFO), $task['description'])); } } }
private function pluginOp($pluginName, $op, $actionString) { $plugins = sgConfiguration::getPlugins(); if (isset($plugins[$pluginName])) { $plugin = $plugins[$pluginName]; if (isset($plugin->configuration) && is_object($plugin->configuration) && method_exists($plugin->configuration, $op)) { $opString = sgCLI::formatText($op, array('options' => array('bright', 'underscore')), sgCLI::STYLE_CONFIRM, false); if (sgCLI::confirm("Are you sure you want to {$opString} the plugin \"{$plugin->name}\"?")) { sgCLI::println(ucwords($actionString) . " Plugin \"{$plugin->name}\":", sgCLI::STYLE_HEADER); sgConfiguration::executePluginHook($plugin, $op); } } else { sgClI::println("Nothing to {$op}.", sgCLI::STYLE_INFO); } } else { sgClI::println("{$pluginName} is not an enabled plugin.", sgCLI::STYLE_ERROR); } }
public static function remove($files = array()) { if (is_string($files)) { $files = array($files); } foreach ($files as $file) { if (is_dir($file) && !is_link($file)) { if (@(!rmdir($file))) { sgCLI::printAction('-dir', sgCLI::formatText($file, sgCLI::STYLE_ERROR)); } else { sgCLI::printAction('-dir', $file); } } else { if (@(!unlink($file))) { sgCLI::printAction('-file', sgCLI::formatText($file, sgCLI::STYLE_ERROR)); } else { sgCLI::printAction('-file', $file); } } } }
public static function printAction($action, $line) { $width = 9 + strlen(sgCLI::formatText('', sgCLI::STYLE_INFO)); sgCLI::println(sprintf("%-{$width}s %s", sgCLI::formatText($action, sgCLI::STYLE_INFO), $line)); }