示例#1
0
 /**
  * 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());
         }
     }
 }
示例#2
0
 /**
  * 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;
 }