/** * @return void */ public function initialize() { $corePath = $this->modx->getOption('admintools_core_path', null, $this->modx->getOption('core_path') . 'components/admintools/'); require_once $corePath . 'model/admintools/admintools.class.php'; $this->AdminTools = new AdminTools($this->modx); //$this->addCss($this->AdminTools->getOption('cssUrl') . 'mgr/main.css'); $this->addJavascript($this->AdminTools->getOption('jsUrl') . 'mgr/admintools.js'); $this->addHtml(' <script type="text/javascript"> AdminTools.config = ' . $this->modx->toJSON($this->AdminTools->getOptions()) . '; AdminTools.config.connector_url = "' . $this->AdminTools->getOption('connectorUrl') . '"; </script> '); parent::initialize(); }
/** * @see Page::assignVariables() */ public function assignVariables() { parent::assignVariables(); if ($this->target == '_iframe') { $this->iFrame = AdminTools::getIframeSettings(); } WCF::getTPL()->assign(array('wbbExists' => AdminTools::wbbExists(), 'url' => $this->url, 'target' => $this->target, 'iFrame' => $this->iFrame)); }
/** * @see Page::assignVariables() */ public function assignVariables() { parent::assignVariables(); // disk space in GB $di = AdminTools::getDiskInfo(); if (is_array($di) && count($di)) { $totalSpace = StringUtil::formatNumeric($di['TOTAL_SPACE']) . ' GB'; $freeSpace = StringUtil::formatNumeric($di['FREE_SPACE']) . ' GB (' . StringUtil::formatNumeric($di['FREE_QUOTA']) . '%)'; $usedSpace = StringUtil::formatNumeric($di['USED_SPACE']) . ' GB (' . StringUtil::formatNumeric($di['USED_QUOTA']) . '%)'; $this->diskInfo = WCF::getLanguage()->get('wcf.acp.adminTools.diskInfo', array('$totalSpace' => $totalSpace, '$freeSpace' => $freeSpace, '$usedSpace' => $usedSpace)); } WCF::getTPL()->assign(array('wbbExists' => AdminTools::wbbExists(), 'atPHP' => AdminTools::parsePHPConfig(), 'diskInfo' => $this->diskInfo)); }
/** * @see Cronjob::execute() */ public function execute($data) { // read settings *********************************** $this->atSettings = AdminTools::getSettings(); // check last execution time $this->atSettings['cronLastRun'] = intval($this->atSettings['cronLastRun']); if ($this->atSettings['cronLastRun'] < TIME_NOW - 3600) { $sql = "UPDATE wcf" . WCF_N . "_admin_tool_setting" . "\n SET atse_value = '" . TIME_NOW . "'" . "\n WHERE atse_name = 'cronLastRun'"; WCF::getDB()->sendQuery($sql); } else { return; } // WBB-LOG ***************************************** if (!empty($this->atSettings['cronDelLogDays'])) { WCF::getDB()->sendQuery("DELETE FROM wcf" . WCF_N . "_cronjobs_log WHERE execTime < " . (time() - $this->atSettings['cronDelLogDays'] * 86400)); } // delete PNs ************************************** if (!empty($this->atSettings['cronDelPmDays'])) { $dPMs = $cnt = 0; $sql = "SELECT pmID" . "\n FROM wcf" . WCF_N . "_pm" . "\n WHERE time < " . (time() - $this->atSettings['cronDelPmDays'] * 86400); if (!empty($this->atSettings['cronDelPmDaysExclUgrps'])) { $sql .= "\n AND userID NOT IN (SELECT userID FROM wcf" . WCF_N . "_user_to_groups WHERE groupID IN (" . $this->atSettings['cronDelPmDaysExclUgrps'] . "))"; } if (!empty($this->atSettings['cronDelPmDaysExclUser'])) { $sql .= "\n AND userID NOT IN (" . $this->atSettings['cronDelPmDaysExclUser'] . ")"; } if (!empty($this->atSettings['cronDelPmDaysExclFolder'])) { $sql .= "\n AND pmID NOT IN (SELECT pmID FROM wcf" . WCF_N . "_pm_to_user WHERE folderID > 0)"; } $result = WCF::getDB()->sendQuery($sql); while ($row = WCF::getDB()->fetchArray($result)) { $cnt++; $this->pmDelCnt++; $dPMs .= ',' . $row['pmID']; if ($cnt % 50 == 0) { AdminTools::deletePMs($dPMs); $cnt = 0; $dPMs = 0; } } if (!empty($dPMs)) { AdminTools::deletePMs($dPMs); } } // delete inactive user **************************** if (!empty($this->atSettings['cronDelInactiveUserDays']) && $this->atSettings['cronDelInactiveUserDays'] > 0) { AdminTools::deleteInactiveUser($this->atSettings['cronDelInactiveUserDays'], $this->atSettings['cronDelInactiveUserExcl'], $this->atSettings['cronDelInactiveUserExclUgrps']); } // check moved threads AdminTools::cronCheckMovedThreads(intval($this->atSettings['cronDelMovedThreadDays'])); // archive AdminTools::cronThreadArchive($this->atSettings); // cleanup subscriptions if (!empty($this->atSettings['cronCleanUpSubscriptions'])) { AdminTools::cronCleanUpSubscriptions(); } // spider ****************************************** AdminTools::syncSpider(); // journal ***************************************** AdminTools::cronRunJournal($this->pmDelCnt, $this->atSettings['cronLogEnabled'], $this->atSettings['cronStatEnabled'], $this->atSettings['cronLogUseAdminEmail']); // DB ********************************************** AdminTools::cronRunDB($this->atSettings['cronDbAnalyze'], $this->atSettings['cronDbOptimize'], $this->atSettings['cronDbBackup']); }
/** * @see Page::assignVariables() */ public function assignVariables() { parent::assignVariables(); $this->links = AdminTools::getLinks(); $this->iFrame = AdminTools::getIframeSettings(); // if(!empty($this->menuItemID)) $this->linkCur = AdminTools::getLink($this->menuItemID); WCF::getTPL()->assign(array('wbbExists' => AdminTools::wbbExists(), 'menuItemID' => $this->menuItemID, 'linkCur' => $this->linkCur, 'links' => $this->links, 'iFrame' => $this->iFrame)); }
private function importSpider() { if (!empty($_FILES['importSpider']['tmp_name']) && is_uploaded_file($_FILES['importSpider']['tmp_name'])) { $csv = file($_FILES['importSpider']['tmp_name']); $spiders = array(); $i = 0; if (count($csv)) { foreach ($csv as $line) { $line = trim($line); if (preg_match('/^"/', $line)) { $spiderIdentifier = $spiderName = $spiderURL = ''; list($spiderIdentifier, $spiderName, $spiderURL) = preg_split('/";"/', $line, 3); $spiderIdentifier = preg_replace('/^"/', '', $spiderIdentifier); if ($spiderURL) { $spiderURL = preg_replace('/"$/', '', $spiderURL); } if (!empty($spiderIdentifier) && !empty($spiderName)) { $spiders[$i]['spiderIdentifier'] = $spiderIdentifier; $spiders[$i]['spiderName'] = $spiderName; $spiders[$i]['spiderURL'] = $spiderURL; $i++; } } } } if (count($spiders)) { $sql = "TRUNCATE TABLE wcf" . WCF_N . "_admin_tool_spider"; WCF::getDB()->sendQuery($sql); foreach ($spiders as $k => $v) { $sql = "INSERT INTO wcf" . WCF_N . "_admin_tool_spider" . "\n (spiderIdentifier, spiderName, spiderURL)" . "\nVALUES ('" . WCF::getDB()->escapeString($v['spiderIdentifier']) . "', '" . WCF::getDB()->escapeString($v['spiderName']) . "', '" . WCF::getDB()->escapeString($v['spiderURL']) . "')"; WCF::getDB()->sendQuery($sql); } } AdminTools::syncSpider(true); } }
/** * @see Page::assignVariables() */ public function assignVariables() { parent::assignVariables(); WCF::getTPL()->assign(array('wbbExists' => AdminTools::wbbExists(), 'show' => $this->show, 'lostAndFoundDel' => AdminTools::getLostAndFound($this->show))); }
/** * @see Page::assignVariables() */ public function assignVariables() { parent::assignVariables(); $boards = AdminTools::cronThreadArchiveGetBoards(); if (isset($_POST['cronThreadArchiveSrc']) && is_array($_POST['cronThreadArchiveSrc'])) { foreach ($boards as $k => $v) { if (in_array($boards[$k]['boardID'], $_POST['cronThreadArchiveSrc'])) { $boards[$k]['SRC'] = true; } else { $boards[$k]['SRC'] = false; } } } WCF::getTPL()->assign(array('wbbExists' => AdminTools::wbbExists(), 'cronDelLogDays' => $this->cronDelLogDays, 'cronDelMovedThreadDays' => $this->cronDelMovedThreadDays, 'cronDelPmDays' => $this->cronDelPmDays, 'cronDbAnalyze' => $this->cronDbAnalyze, 'cronDbOptimize' => $this->cronDbOptimize, 'cronDbBackup' => $this->cronDbBackup, 'cronDelPmDaysExclUgrps' => $this->cronDelPmDaysExclUgrps, 'cronDelPmDaysExclUser' => $this->cronDelPmDaysExclUser, 'cronDelPmDaysExclFolder' => $this->cronDelPmDaysExclFolder, 'cronDelPmDaysShowInfo' => $this->cronDelPmDaysShowInfo, 'cronDelPmDaysShowExclInfo' => $this->cronDelPmDaysShowExclInfo, 'cronLogEnabled' => $this->cronLogEnabled, 'cronStatEnabled' => $this->cronStatEnabled, 'cronActive' => AdminTools::cronIsEnabled(), 'cronLogUseAdminEmail' => $this->cronLogUseAdminEmail, 'cronDelInactiveUserDays' => $this->cronDelInactiveUserDays, 'cronDelInactiveUserExclUgrps' => $this->cronDelInactiveUserExclUgrps, 'cronDelInactiveUserExcl' => $this->cronDelInactiveUserExcl, 'cronThreadArchiveDays' => $this->cronThreadArchiveDays, 'cronThreadArchiveBoards' => $boards, 'cronThreadArchiveTgt' => $this->cronThreadArchiveTgt, 'cronThreadArchiveExclPolls' => $this->cronThreadArchiveExclPolls, 'cronThreadArchiveExclAnnouncement' => $this->cronThreadArchiveExclAnnouncement, 'cronThreadArchiveExclSticky' => $this->cronThreadArchiveExclSticky, 'cronThreadArchiveExclClosed' => $this->cronThreadArchiveExclClosed, 'cronThreadArchiveExclDeleted' => $this->cronThreadArchiveExclDeleted, 'cronCleanUpSubscriptions' => $this->cronCleanUpSubscriptions, 'subscriptionsMsg' => $this->subscriptionsMsg)); }