示例#1
0
 public function setupAction()
 {
     $request = $this->getRequest();
     $this->view->errors = array();
     $this->view->schedulers = array();
     $this->view->workers = array();
     $client = Kaltura_ClientHelper::getClient();
     if (!$client) {
         $this->view->errors[] = 'init client failed';
         return;
     }
     $adminId = Zend_Auth::getInstance()->getIdentity()->getUser()->id;
     $action = $request->getParam('hdnAction', false);
     if ($action) {
         Kaltura_AclHelper::validateAccess('batch', 'setup-stop-start');
         $workerId = $request->getParam('hdnWorkerId', false);
         $cause = $request->getParam('hdnCause', false);
         try {
             switch ($action) {
                 case "stop":
                     $client->batchcontrol->stopWorker($workerId, $adminId, $cause);
                     $this->view->actionDescription .= "Worker [{$workerId}] stop command sent.\n";
                     break;
                 case "start":
                     $client->batchcontrol->startWorker($workerId, $adminId, $cause);
                     $this->view->actionDescription .= "Worker [{$workerId}] start command sent.\n";
                     break;
                 case "disable":
                     $configParam = 'enable';
                     $configValue = '0';
                     $configParamPart = null;
                     $client->batchcontrol->setWorkerConfig($workerId, $adminId, $configParam, $configValue, $configParamPart, $cause);
                     $this->view->actionDescription .= "Worker [{$workerId}] disable command sent.\n";
                     break;
                 case "enable":
                     $configParam = 'enable';
                     $configValue = '1';
                     $configParamPart = null;
                     $client->batchcontrol->setWorkerConfig($workerId, $adminId, $configParam, $configValue, $configParamPart, $cause);
                     $this->view->actionDescription .= "Worker [{$workerId}] enable command sent.\n";
                     break;
                 case "start-manual":
                     $configParam = 'enable';
                     $configValue = '1';
                     $configParamPart = null;
                     $client->batchcontrol->setWorkerConfig($workerId, $adminId, $configParam, $configValue, $configParamPart, $cause);
                     $configParam = 'autoStart';
                     $configValue = '0';
                     $configParamPart = null;
                     $client->batchcontrol->setWorkerConfig($workerId, $adminId, $configParam, $configValue, $configParamPart, $cause);
                     $this->view->actionDescription .= "Worker [{$workerId}] start manualy command sent.\n";
                     break;
                 case "start-auto":
                     $configParam = 'enable';
                     $configValue = '1';
                     $configParamPart = null;
                     $client->batchcontrol->setWorkerConfig($workerId, $adminId, $configParam, $configValue, $configParamPart, $cause);
                     $configParam = 'autoStart';
                     $configValue = '1';
                     $configParamPart = null;
                     $client->batchcontrol->setWorkerConfig($workerId, $adminId, $configParam, $configValue, $configParamPart, $cause);
                     $this->view->actionDescription .= "Worker [{$workerId}] start automatic command sent.\n";
                     break;
             }
         } catch (Exception $e) {
             $this->view->errors[] = $e->getMessage();
         }
     }
     $filter = new KalturaControlPanelCommandFilter();
     $filter->createdByIdEqual = $adminId;
     $filter->statusIn = KalturaControlPanelCommandStatus::HANDLED . ',' . KalturaControlPanelCommandStatus::PENDING;
     $this->view->disabledWorkers = array();
     try {
         $commandsList = $client->batchcontrol->listCommands($filter);
         foreach ($commandsList->objects as $command) {
             if ($command->type != KalturaControlPanelCommandType::CONFIG) {
                 $this->view->disabledWorkers[$command->workerId] = $command;
             }
         }
     } catch (Exception $e) {
         $this->view->errors[] = $e->getMessage();
     }
     $settings = Zend_Registry::get('config')->settings;
     $controlCommandsTimeFrame = $settings->controlCommandsTimeFrame * 60;
     $filter = new KalturaControlPanelCommandFilter();
     $filter->createdByIdEqual = $adminId;
     $filter->createdAtGreaterThanOrEqual = time() - $controlCommandsTimeFrame;
     try {
         $commandsList = $client->batchcontrol->listCommands($filter);
         $this->view->commands = $commandsList->objects;
     } catch (Exception $e) {
         $this->view->commands = array();
     }
     try {
         $schedulersList = $client->batchcontrol->listSchedulers();
         $this->view->schedulers = $schedulersList->objects;
     } catch (Exception $e) {
         $this->view->schedulers = array();
     }
     try {
         $workersList = $client->batchcontrol->listWorkers();
         $this->view->workers = $workersList->objects;
     } catch (Exception $e) {
         $this->view->workers = array();
     }
 }
示例#2
0
 public function indexAction()
 {
     if (Kaltura_AclHelper::isAllowed('partner', 'list')) {
         $this->_helper->redirector('list', 'partner');
     }
 }
示例#3
0
 protected function checkAclForNavigation(Zend_Navigation_Container $navigation)
 {
     $accessConfig = Zend_Registry::get('config')->access;
     $pages = $navigation->getPages();
     foreach ($pages as $page) {
         $controller = $page->get('controller');
         $action = $page->get('action');
         $allowed = Kaltura_AclHelper::isAllowed($controller, $action);
         if (!$allowed) {
             $navigation->removePage($page);
         } else {
             $this->checkAclForNavigation($page);
         }
     }
 }