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); }
/** * @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)); }
$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(); }
/** * 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'); }