Merge pull request #806 from Gravatronics/enhancement/userACPMenuItemShowOrder
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / acp / page / CronjobLogListPage.class.php
CommitLineData
11ade432
AE
1<?php
2namespace wcf\acp\page;
11ade432 3use wcf\page\SortablePage;
ec1b1daf
TB
4use wcf\system\menu\acp\ACPMenu;
5use wcf\system\package\PackageDependencyHandler;
11ade432
AE
6
7/**
a987a4ac 8 * Shows cronjob log information.
11ade432
AE
9 *
10 * @author Marcel Werk
11 * @copyright 2001-2011 WoltLab GmbH
12 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
13 * @package com.woltlab.wcf
14 * @subpackage acp.page
15 * @category Community Framework
16 */
17class CronjobLogListPage extends SortablePage {
11ade432
AE
18 /**
19 * @see wcf\page\AbstractPage::$neededPermissions
20 */
a987a4ac 21 public $neededPermissions = array('admin.system.cronjob.canEditCronjob');
11ade432
AE
22
23 /**
24 * @see wcf\page\MultipleLinkPage::$itemsPerPage
25 */
26 public $itemsPerPage = 100;
27
28 /**
29 * @see wcf\page\SortablePage::$defaultSortField
30 */
31 public $defaultSortField = 'execTime';
32
33 /**
34 * @see wcf\page\SortablePage::$defaultSortOrder
35 */
36 public $defaultSortOrder = 'DESC';
e34164d2
MS
37
38 /**
39 * @see wcf\page\SortablePage::$validSortFields
40 */
c4c3440e 41 public $validSortFields = array('cronjobID', 'className', 'description', 'execTime', 'success');
11ade432
AE
42
43 /**
44 * @see wcf\page\MultipleLinkPage::$objectListClassName
45 */
46 public $objectListClassName = 'wcf\data\cronjob\log\CronjobLogList';
47
48 /**
49 * @see wcf\page\MultipleLinkPage::initObjectList()
50 */
51 protected function initObjectList() {
52 parent::initObjectList();
53
54 $this->objectList->sqlSelects = "cronjob.*";
55 $this->objectList->sqlJoins = "LEFT JOIN wcf".WCF_N."_cronjob cronjob ON (cronjob.cronjobID = cronjob_log.cronjobID)";
6eb12140 56 $this->objectList->getConditionBuilder()->add("cronjob_log.cronjobID IN (SELECT cronjobID FROM wcf".WCF_N."_cronjob WHERE packageID IN (?))", array(PackageDependencyHandler::getInstance()->getDependencies()));
11ade432
AE
57 }
58
59 /**
60 * @see wcf\page\MultipleLinkPage::readObjects()
61 */
62 protected function readObjects() {
c4c3440e 63 $this->sqlOrderBy = (($this->sortField == 'className' || $this->sortField == 'description') ? 'cronjob.' : 'cronjob_log.').$this->sortField." ".$this->sortOrder;
11ade432
AE
64
65 parent::readObjects();
66 }
67
11ade432 68 /**
b522d4f1 69 * @see wcf\page\IPage::show()
11ade432
AE
70 */
71 public function show() {
72 // set active menu item.
e89c399a 73 ACPMenu::getInstance()->setActiveMenuItem('wcf.acp.menu.link.log.cronjob');
11ade432
AE
74
75 parent::show();
76 }
77}