root/downloadDatabase/files/lib/acp/page/DownloadDBDataListPage.class.php @ 715

Revision 715, 3.2 kB (checked in by Tatzelwurm, 5 years ago)

Last version (1.1.0 pl 1)

RevLine 
[402]1<?php
2require_once(WCF_DIR.'lib/acp/form/ACPForm.class.php');
3require_once(WCF_DIR.'lib/page/AbstractPage.class.php');
4require_once(WCF_DIR.'lib/page/SortablePage.class.php');
5
6/**
7 * Download Database Admin Control Panel.
8 * Listet alle Kategorien und Subkategorien auf.
[526]9 * (Sub-)Kategorien kᅵnnen hinzugefᅵgt, bearbeitet und gelᅵscht werden.
[402]10 *
11 * @author              Robert "Tatzelwurm" Hempel
[526]12 * @copyright   2007/2008 INSIDE das Hᅵrspiel
[402]13 * @license     GNU LGPL http://www.gnu.org/licenses/lgpl.txt
14 * @package             de.inside.wcf.downloaddb
15 */
16
17class DownloadDBDataListPage extends SortablePage {
18
19        public $templateName = 'downloadDBDataList';
20        public $activeMenuItem = 'wcf.acp.menu.link.content.dldb';
21        public $neededPermissions = 'admin.dldb.canChangeOptions';
22       
23        public $itemsPerPage = DOWNLOADDB_VIEW_MAX_DATA;
24        public $defaultSortField = 'katID';
25        public $deleteddataID = 0;
26       
27        // Datensatz Variablen
28        public $dataID;
29        public $dldbdata = array();
30       
31        public $position;
32       
33        public $action;
34        private $valid = false;
35       
36        public $kategorien = array();
37        public $subkategorien = array();
38       
39        public function readParameters() {
40                parent::readParameters();
41                if (isset($_REQUEST['dataID']))         $this->dataID   = intval($_REQUEST['dataID']);
42                if (isset($_REQUEST['action']))         $this->action   = escapeString($_REQUEST['action']);
43                // detect Data deletion
[715]44                if (isset($_REQUEST['deleteddataID'])) $this->deleteddataID = intval($_REQUEST['deleteddataID']);
[402]45        }
46       
47        public function validateSortField() {
48                parent::validateSortField();
49
50                switch ($this->sortField) {
51                        case 'dataID':
52                        case 'katID':
53                        case 'name':
54                        case 'downloads':
55                        case 'activ':
56                        case 'fileName':break;
57                        default: $this->sortField = $this->defaultSortField;
58                }
59        }
60
61        public function readData() {
62                parent::readData();
63                $this->readDldbData();
64        }
65       
66        public function assignVariables() {
67                parent::assignVariables();
68
[526]69                $languagesArray = WCF::getLanguage()->getAvailableLanguages();
70                       
71                for ($i = 0; $i < count($languagesArray); $i++) {
72                        $languageItems = $languagesArray[$i];
73                                       
74                                $languageArray[] = array(
75                                        'languageID' => $languageItems['languageID'],
76                                        'languageCode' => ucfirst($languageItems['languageCode'])
77                                );
78                }
79               
[402]80                WCF::getTPL()->assign(array(
81                        'dldbdata' => $this->dldbdata,
[526]82                        'deleteddataID' => $this->deleteddataID,
83                        'languageArray' => $languageArray
[402]84                        ));
85        }
86       
87        public function show() {
88                // enable menu item
89                WCFACP::getMenu()->setActiveMenuItem($this->activeMenuItem);
90
91                parent::show();
92        }
93       
94        public function countItems() {
95                $sql = "SELECT  COUNT(dataID) AS position
96                                FROM    wcf".WCF_N."_dldb_data";
97                $row = WCF::getDB()->getFirstRow($sql);
98
99                return $row['position'];
100        }
101       
102        protected function readDldbData() {
103                $sql = "SELECT          *,
104                                        (SELECT name
105                                         FROM wcf".WCF_N."_dldb_kats
106                                         WHERE  `katID` = dldb_data.`katID`)
107                                         AS katName
108                                FROM            wcf".WCF_N."_dldb_data dldb_data
109                                ORDER BY        dldb_data.".$this->sortField." ".$this->sortOrder."
110                                LIMIT           ".$this->itemsPerPage."
111                                OFFSET          ".(($this->pageNo - 1) * $this->itemsPerPage);
112                $result = WCF::getDB()->sendQuery($sql);
113                while ($row = WCF::getDB()->fetchArray($result)) {
114                        $this->dldbdata[] = $row;
115                }
116        }
117       
118}
119?>
Note: See TracBrowser for help on using the browser.