Exemplo n.º 1
0
 public function routeStartup(Zend_Controller_Request_Abstract $request)
 {
     try {
         $opts = new Zend_Console_Getopt(array('controller|c=s' => 'Name of the controller to open', 'action|a=s' => 'The command line action to execute', 'cityId|ci=i' => 'City id to get trend data for', 'startDate|sd=s' => 'Start date for the price trends', 'endDate|ed=s' => 'End date for the price trends', 'hours|h=i' => 'How many hours to simulate for'));
         $opts->parse();
         $args = $opts->getRemainingArgs();
         if (!isset($opts->action)) {
             throw new Zend_Console_Getopt_Exception('Action parameter missing');
         }
         $cliAction = $opts->action;
         $cliController = $opts->controller;
         $paramters = array();
         $optArray = $opts->toArray();
         for ($i = 0; $i < count($optArray); $i += 2) {
             $paramters[$optArray[$i]] = $optArray[$i + 1];
         }
     } catch (Zend_Console_Getopt_Exception $e) {
         echo $opts->getUsageMessage();
         exit;
     }
     // set the request as a CLI request
     $request = new Zend_Controller_Request_Simple($cliAction, $cliController, 'cli');
     foreach ($paramters as $key => $paramVal) {
         $request->setParam($key, $paramVal);
     }
     foreach ($args as $argument) {
         $request->setParam($argument, true);
     }
     $response = new Zend_Controller_Response_Cli();
     $front = Zend_Controller_Front::getInstance();
     $front->setRequest($request)->setResponse($response);
 }
Exemplo n.º 2
0
 /**
  * @group ZF-3472
  */
 public function testSettingParamToNullInSetparamsCorrectlyUnsetsValue()
 {
     $request = new Zend_Controller_Request_Simple();
     $request->setParam('key', 'value');
     $request->setParams(array('key' => null));
     $this->assertNull($request->getParam('key'));
 }
 /**
  * static task getter
  * 
  * @param  string $_type
  * @param  array $_requestOptions
  * @param  array $_taskOptions
  * @return Tinebase_Scheduler_Task
  */
 public static function getPreparedTask($_type, array $_requestOptions, array $_taskOptions = array())
 {
     $request = new Zend_Controller_Request_Simple();
     $request->setControllerName($_requestOptions['controller']);
     $request->setActionName($_requestOptions['action']);
     if (isset($_requestOptions['params']) || array_key_exists('params', $_requestOptions)) {
         foreach ($_requestOptions['params'] as $key => $value) {
             $request->setParam($key, $value);
         }
     }
     $task = new Tinebase_Scheduler_Task($_taskOptions);
     $task->setMonths("Jan-Dec");
     $task->setWeekdays("Sun-Sat");
     $task->setDays("1-31");
     $task->setRequest($request);
     switch ($_type) {
         case self::TASK_TYPE_MINUTELY:
             $task->setHours("0-23");
             $task->setMinutes("0/1");
             break;
         case self::TASK_TYPE_HOURLY:
             $task->setHours("0-23");
             $task->setMinutes("0");
             break;
         case self::TASK_TYPE_DAILY:
             $task->setHours("0");
             $task->setMinutes("0");
             break;
     }
     return $task;
 }
 /**
  * Tests if a task can be saved.
  */
 public function testSaveTask()
 {
     $this->testClearQueue();
     $request = new Zend_Controller_Request_Simple();
     $request->setControllerName('Tinebase_Alarm');
     $request->setActionName('sendPendingAlarms');
     $request->setParam('eventName', 'Tinebase_Event_Async_Minutely');
     $task = Zend_Scheduler_Task::getTask()->setMonths("Jan-Dec")->setWeekdays("Sun-Sat")->setDays("1-31")->setHours("0-23")->setMinutes("0/1")->setRequest($request);
     $this->_scheduler->addTask('Tinebase_Alarm_Test', $task);
     $this->_scheduler->saveTask();
     $tasks = $this->_scheduler->getBackend()->loadQueue();
     $this->assertEquals(1, count($tasks));
 }
Exemplo n.º 5
0
    $opts->parse();
} catch (Zend_Console_Getopt_Exception $e) {
    exit($e->getMessage() . "\n\n" . $e->getUsageMessage());
}
//mostra o help
if (isset($opts->h)) {
    echo $opts->getUsageMessage();
    exit;
}
//monta a requisição
if (isset($opts->a)) {
    //separa os componentes
    $reqRoute = explode('/', $opts->a);
    $module = array_shift($reqRoute);
    $controller = array_shift($reqRoute);
    $action = array_shift($reqRoute);
    $request = new Zend_Controller_Request_Simple($action, $controller, $module);
    //trata os parâmetros, caso existam
    $argc = count($reqRoute);
    for ($i = 0; $i < $argc; $i++) {
        $request->setParam($reqRoute[$i], $reqRoute[++$i]);
    }
    $front = Zend_Controller_Front::getInstance();
    $front->setRequest($request);
    $front->setRouter(new Coderockr_Controller_Router_Cli());
    $front->setResponse(new Zend_Controller_Response_Cli());
    $front->throwExceptions(true);
    $front->addModuleDirectory(MODULE_CONTROLLER_PATH);
    //Zend_Debug::dump($request->getParams());
    $front->dispatch();
}
Exemplo n.º 6
0
 /**
  * update to 3.8
  * - schedulers
  */
 public function update_7()
 {
     $declaration = new Setup_Backend_Schema_Table_Xml('
      <table>
         <name>scheduler</name>
         <version>1</version>
         <declaration>
             <field>
                 <name>id</name>
                 <type>integer</type>
                 <length>11</length>
                 <autoincrement>true</autoincrement>
                 <notnull>true</notnull>
             </field>
             <field>
                 <name>name</name>
                 <type>text</type>
                 <length>255</length>
                 <notnull>true</notnull>
             </field>
             <field>
                 <name>data</name>
                 <type>text</type>
                 <notnull>true</notnull>
             </field>
             <index>
                 <name>id</name>
                 <primary>true</primary>
                 <field>
                     <name>id</name>
                 </field>
             </index>
         </declaration>
     </table>');
     try {
         $this->_backend->createTable($declaration);
         Tinebase_Application::getInstance()->addApplicationTable(Tinebase_Application::getInstance()->getApplicationByName('Tinebase'), 'scheduler', 1);
     } catch (Zend_Db_Statement_Exception $zdse) {
         // do nothing
     }
     $request = new Zend_Controller_Request_Simple();
     $request->setControllerName('Tinebase_Alarm');
     $request->setActionName('sendPendingAlarms');
     $request->setParam('eventName', 'Tinebase_Event_Async_Minutely');
     $task = new Tinebase_Scheduler_Task();
     $task->setMonths("Jan-Dec");
     $task->setWeekdays("Sun-Sat");
     $task->setDays("1-31");
     $task->setHours("0-23");
     $task->setMinutes("0/1");
     $task->setRequest($request);
     $scheduler = Tinebase_Core::getScheduler();
     $scheduler->addTask('Tinebase_Alarm', $task);
     $scheduler->saveTask();
     $this->setApplicationVersion('Tinebase', '3.8');
 }