ID = $id; } public function getID($hideAutoID = true) { return $this->ID; } public function setButtonID($id) { $this->buttonID = $id; } public function getButtonID() { return $this->buttonID; } public function setWindowTitle($param) { $this->windowTitle = $param; } public function getWindowTitle() { return $this->windowTitle; } public function onLoad($param) { parent::onLoad($param); $misc = $this->Application->getModule('misc'); $this->jobLevels = $misc->getJobLevels(); $this->jobStates = $misc->getJobState(); $this->jobTypes = $misc->job_types; $this->runningJobStates = $misc->getRunningJobStates(); } public function prepareData($sender, $param) { $params = $this->getUrlParams('jobs', $this->getPage()->JobWindow->ID); $jobs = $this->Application->getModule('api')->get($params); $isDetailView = $_SESSION['view' . $this->getPage()->JobWindow->ID] == 'details'; if($isDetailView === true) { $this->RepeaterShow->Visible = false; $this->DataGridShow->Visible = true; $this->DataGrid->DataSource = $this->Application->getModule('misc')->objectToArray($jobs->output); $this->DataGrid->dataBind(); } else { $this->RepeaterShow->Visible = true; $this->DataGridShow->Visible = false; $this->Repeater->DataSource = $jobs->output; $this->Repeater->dataBind(); } } public function sortDataGrid($sender, $param) { $params = $this->getUrlParams('jobs', $this->getPage()->JobWindow->ID); $data = $this->Application->getModule('api')->get($params)->output; $data = $this->Application->getModule('misc')->objectToArray($data); $this->DataGrid->DataSource = $this->sortData($data, $param->SortExpression, $sender->UniqueID); $this->DataGrid->dataBind(); } public function configure($sender, $param) { if($this->Page->IsCallBack) { $this->getPage()->JobConfiguration->configure($param->CallbackParameter); } } public function run_again($sender, $param) { if($this->Page->IsCallBack) { $this->getPage()->JobConfiguration->run_again(null, $param->CallbackParameter); } } public function executeAction($action) { $params = explode(';', $this->CheckedValues->Value); $commands = array(); switch($action) { case 'delete': { for($i = 0; $i < count($params); $i++) { $cmd = array('delete'); $cmd[] = 'jobid="' . $params[$i] . '"'; $cmd[] = 'yes'; $cmd[] = PHP_EOL; $commands[] = implode(' ', $cmd); } $this->getPage()->Console->CommandLine->Text = implode(' ', $commands); $this->getPage()->Console->sendCommand(null, null); break; } } $this->CheckedValues->Value = ""; } public function formatJobName($name) { if (strlen($name) > 24) { $name = substr($name, 0, 10) . '...' . substr($name, -11); } return $name; } public function getJobStatusLetter($job) { $statusLetter = ''; if (array_key_exists('jobstatus', $job)) { $errors = intval($job['joberrors']); if ($job['jobstatus'] === 'T' && $errors > 0) { $job['jobstatus'] = 'W'; } $statusLetter = $job['jobstatus']; } return $statusLetter; } public function getJobStatusValue($job) { $statusValue = ''; $jobLetter = $this->getJobStatusLetter($job); if (array_key_exists($jobLetter, $this->jobStates)) { $statusValue = $this->jobStates[$jobLetter]['value']; } return $statusValue; } public function getJobStatusDescription($job) { $statusDescription = ''; $jobLetter = $this->getJobStatusLetter($job); if (array_key_exists($jobLetter, $this->jobStates)) { $statusDescription = $this->jobStates[$jobLetter]['description']; } return $statusDescription; } } ?>