Commit | Line | Data |
---|---|---|
11ade432 AE |
1 | <?php |
2 | namespace wcf\acp\page; | |
3 | use wcf\system\menu\acp\ACPMenu; | |
4 | use wcf\page\SortablePage; | |
5 | use wcf\system\package\PackageDependencyHandler; | |
6 | use wcf\system\WCF; | |
7 | ||
8 | /** | |
9 | * Shows cron jobs log information. | |
10 | * | |
11 | * @author Marcel Werk | |
12 | * @copyright 2001-2011 WoltLab GmbH | |
13 | * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php> | |
14 | * @package com.woltlab.wcf | |
15 | * @subpackage acp.page | |
16 | * @category Community Framework | |
17 | */ | |
18 | class CronjobLogListPage extends SortablePage { | |
19 | /** | |
20 | * @see wcf\page\AbstractPage::$templateName | |
21 | */ | |
22 | public $templateName = 'cronjobLogList'; | |
23 | ||
24 | /** | |
25 | * @see wcf\page\AbstractPage::$neededPermissions | |
26 | */ | |
27 | public $neededPermissions = array('admin.system.cronjobs.canEditCronjob'); | |
28 | ||
29 | /** | |
30 | * @see wcf\page\MultipleLinkPage::$itemsPerPage | |
31 | */ | |
32 | public $itemsPerPage = 100; | |
33 | ||
34 | /** | |
35 | * @see wcf\page\SortablePage::$defaultSortField | |
36 | */ | |
37 | public $defaultSortField = 'execTime'; | |
38 | ||
39 | /** | |
40 | * @see wcf\page\SortablePage::$defaultSortOrder | |
41 | */ | |
42 | public $defaultSortOrder = 'DESC'; | |
e34164d2 MS |
43 | |
44 | /** | |
45 | * @see wcf\page\SortablePage::$validSortFields | |
46 | */ | |
47 | public $validSortFields = array('cronjobID', 'classPath', 'description', 'execTime', 'success'); | |
11ade432 AE |
48 | |
49 | /** | |
50 | * @see wcf\page\MultipleLinkPage::$objectListClassName | |
51 | */ | |
52 | public $objectListClassName = 'wcf\data\cronjob\log\CronjobLogList'; | |
53 | ||
54 | /** | |
55 | * @see wcf\page\MultipleLinkPage::initObjectList() | |
56 | */ | |
57 | protected function initObjectList() { | |
58 | parent::initObjectList(); | |
59 | ||
60 | $this->objectList->sqlSelects = "cronjob.*"; | |
61 | $this->objectList->sqlJoins = "LEFT JOIN wcf".WCF_N."_cronjob cronjob ON (cronjob.cronjobID = cronjob_log.cronjobID)"; | |
62 | $this->objectList->getConditionBuilder()->add("cronjob_log.cronjobID IN (SELECT cronjobID FROM wcf".WCF_N."_cronjob WHERE packageID IN (?))", array(PackageDependencyHandler::getDependencies())); | |
63 | } | |
64 | ||
65 | /** | |
66 | * @see wcf\page\MultipleLinkPage::readObjects() | |
67 | */ | |
68 | protected function readObjects() { | |
69 | $this->sqlOrderBy = (($this->sortField == 'classPath' || $this->sortField == 'description') ? 'cronjob.' : 'cronjob_log.').$this->sortField." ".$this->sortOrder; | |
70 | ||
71 | parent::readObjects(); | |
72 | } | |
73 | ||
74 | /** | |
b522d4f1 | 75 | * @see wcf\page\IPage::assignVariables() |
11ade432 AE |
76 | */ |
77 | public function assignVariables() { | |
78 | parent::assignVariables(); | |
79 | ||
80 | WCF::getTPL()->assign(array( | |
81 | 'cronjobLogs' => $this->objectList->getObjects() | |
82 | )); | |
83 | } | |
84 | ||
11ade432 | 85 | /** |
b522d4f1 | 86 | * @see wcf\page\IPage::show() |
11ade432 AE |
87 | */ |
88 | public function show() { | |
89 | // set active menu item. | |
90 | ACPMenu::getInstance()->setActiveMenuItem('wcf.acp.menu.link.cronjobs.showLog'); | |
91 | ||
92 | parent::show(); | |
93 | } | |
94 | } |