} foreach ($options as $repository) { $PluginManager->removeRepository($repository); echo "Removed: {$repository}\n"; } die; } /** * Discover repositories referenced on a page. */ if ($command == 'discover') { $options = get_console_options_for('Discover repositories referenced on a page.', array('source' => array('short' => 's', 'desc' => "Use the specified plugin repositories instead of the default.", 'max' => 1), 'list' => array('short' => 'l', 'desc' => "List but don't prompt or add discovered repositories.", 'max' => 0), 'no-prompt' => array('short' => 'n', 'desc' => "Add all new repositories without prompting.", 'max' => 0))); if (!empty($options['source'])) { $PluginManager->respository_discovery_page = $options['source']; } $repositories = $PluginManager->getDiscoveredRepositories(); $default = 'Y'; foreach ($repositories as $repository) { echo "* {$repository}"; if (!empty($options['list'])) { echo "\n"; } else { echo $default == 'Y' ? "[Y/n]:" : "[y/N]:"; $key = trim(strtolower(fgetc(STDIN))); if (empty($key) && $default == 'N' || $key == 'n') { echo "Skipped {$repository}.\n"; $default = 'N'; } elseif (empty($key) && $default == 'Y' || $key == 'y') { if (Ak::url_get_contents($repository, array('timeout' => 10))) { $PluginManager->addRepository($repository); echo "Added {$repository}.\n";