Ejemplo n.º 1
0
 function handler($arguments = array(), $options = array())
 {
     $class = !empty($arguments['module']) ? 'Mojo' . $arguments['module'] : false;
     $action = !empty($arguments['action']) ? $arguments['action'] : false;
     if (file_exists(MojoConfig::get('mojo_task_lib') . $class . '.class.php')) {
         include_once MojoConfig::get('mojo_task_lib') . $class . '.class.php';
         ${$class} = new $class($options);
         if (count($arguments) < 2 || array_key_exists("help", $options)) {
             if (method_exists(${$class}, "Help")) {
                 ${$class}->Help();
             } else {
                 MojoHelp::Setup();
             }
         }
         if (method_exists(${$class}, $action)) {
             ${$class}->{$action}();
         } else {
             MojoConfig::Setup();
         }
     } else {
         if (MojoConfig::get('mojo_task_lib')) {
             MojoHelp::Docs();
         } else {
             MojoConfig::Setup();
         }
     }
 }
Ejemplo n.º 2
0
 public function Setup($prompt = true)
 {
     $config = array();
     foreach ($_SESSION as $k => $v) {
         $config[$k] = $v;
     }
     if ($prompt) {
         $config['mojo_js_dir'] = promptUser('Please provide the full system path to your Mojo installation ' . '- This is directory that contains SiteMap.js - (Include trailing slash)');
         $arr = explode(DIRECTORY_SEPARATOR, $config['mojo_js_dir']);
         $config['mojo_app_name'] = $arr[count($arr) - 2];
     }
     $arr = explode(DIRECTORY_SEPARATOR, self::get('mojo_task_lib'));
     $config['mojo_bin_dir'] = join(DIRECTORY_SEPARATOR, array_slice($arr, 0, count($arr) - 2)) . DIRECTORY_SEPARATOR . 'bin' . DIRECTORY_SEPARATOR;
     foreach ($config as $key => $value) {
         switch ($key) {
             case 'mojo_js_dir':
                 $sitemap = getFile('SiteMap.js', $value);
                 if ($sitemap) {
                     $value = str_replace(basename($sitemap), "", $sitemap);
                 } else {
                     self::Clear(false);
                     Mojo::exception('SiteMap.js not found at ' . $value);
                 }
                 break;
         }
         $_SESSION[$key] = $value;
         if ($prompt) {
             Mojo::prompt('Updated config for ' . $key . ' to ' . $value);
         }
     }
     MojoFile::write(self::get('mojo_task_lib') . 'mojo.config', json_encode($_SESSION));
     if (array_key_exists('mojo_js_dir', $config) && $prompt) {
         Mojo::prompt('Congratulations, your project is now setup, please read the docs below:');
         MojoHelp::Docs();
     }
 }