/** * Ctor ÐÊloads the plugins * * @return void */ public function __construct() { $this->_plugins = new Brawler_Array_Object(); // fetching plugins foreach (Brawler_Plugin_Loader::getPlugins() as $plugin) { // get plug name $pluginClass = $this->getPluginClassName($plugin); if (class_exists($pluginClass)) { $this->registerPlugin(new $pluginClass()); } } }
/** * Returns an argument list * * @return Brawler_Plugin_Argument_List */ public static function getArguments() { // Application arguments // Argument List $list = new Brawler_Plugin_Argument_List(); // define plugin directory $list->append(new Brawler_Plugin_Argument('p', 'Defines a plugin directory (default ./Plugins)', true)); // append plugin directory $list->append(new Brawler_Plugin_Argument('P', 'Appends a plugin directory', true)); $list->append(new Brawler_Plugin_Argument('h', 'Prints command list', false)); $list->append(new Brawler_Plugin_Argument('r', 'Resource URL to scan', true)); $list->append(new Brawler_Plugin_Argument('f', 'Maximum link follow depth (default: 5)', true)); // Plugin arguments // @TODO find a better way to merge ArrayObjects $plugins = Brawler_Plugin_Loader::getPlugins(); $i = $plugins->getIterator(); while ($i->valid()) { $pluginArguments = $i->current()->getArguments(); $list->merge($pluginArguments); $i->next(); } // Return list return $list; }