File Manager

Current Directory: /home/astoriaah/www/old15/administrator/components/com_admintools/models
Viewing File: /home/astoriaah/www/old15/administrator/components/com_admintools/models/scanner.php
<?php /** * @package AdminTools * @copyright Copyright (c)2010-2015 Nicholas K. Dionysopoulos * @license GNU General Public License version 3, or later */ // Protect from unauthorized access defined('_JEXEC') or die; class AdmintoolsModelScanner extends F0FModel { private $aeconfig; public function __construct($config = array()) { parent::__construct($config); define('AKEEBAROOT', JPATH_ADMINISTRATOR . '/components/com_admintools/akeeba'); define('AKEEBAENGINE', 1); // Enable Akeeba Engine define('AKEEBAPLATFORM', 'jfscan'); // Joomla! file scanner require_once JPATH_ADMINISTRATOR . '/components/com_admintools/akeeba/factory.php'; AEPlatform::getInstance()->load_configuration(1); $this->aeconfig = AEFactory::getConfiguration(); } private function getTextInputAsArray($input, $trim = '') { $result = array(); foreach (explode("\n", $input) as $entry) { $entry = preg_replace('/\s+/', '', $entry); if (!empty($trim)) { $entry = trim($entry, '/'); } if (!empty($entry)) { $result[] = $entry; } } return $result; } public function saveConfiguration() { $rawInput = $this->getState('rawinput', array()); $newFileExtension = trim(F0FInput::getVar('fileextensions', '', $rawInput)); $newExcludeFolders = trim(F0FInput::getVar('exludefolders', '', $rawInput)); $newExcludeFiles = trim(F0FInput::getVar('exludefiles', '', $rawInput)); $newMinExecTime = trim(F0FInput::getInt('mintime', '', $rawInput)); $newMaxExecTime = trim(F0FInput::getInt('maxtime', '', $rawInput)); $newRuntimeBias = trim(F0FInput::getInt('runtimebias', '', $rawInput)); $protectedKeys = $this->aeconfig->getProtectedKeys(); $this->aeconfig->resetProtectedKeys(); $this->aeconfig->set('akeeba.basic.file_extensions', join('|', $this->getTextInputAsArray( $newFileExtension ))); $this->aeconfig->set('akeeba.basic.exclude_folders', join('|', $this->getTextInputAsArray( $newExcludeFolders, '/' ))); $this->aeconfig->set('akeeba.basic.exclude_files', join('|', $this->getTextInputAsArray( $newExcludeFiles, '/' ))); $this->aeconfig->set('akeeba.tuning.min_exec_time', $newMinExecTime); $this->aeconfig->set('akeeba.tuning.max_exec_time', $newMaxExecTime); $this->aeconfig->set('akeeba.tuning.run_time_bias', $newRuntimeBias); AEPlatform::getInstance()->save_configuration(); $this->aeconfig->setProtectedKeys($protectedKeys); } public function getFileExtensions() { return explode('|', $this->aeconfig->get('akeeba.basic.file_extensions', 'php|phps|php3|inc')); } public function getExcludeFolders() { return explode('|', $this->aeconfig->get('akeeba.basic.exclude_folders', '')); } public function getExcludeFiles() { return explode('|', $this->aeconfig->get('akeeba.basic.exclude_files', '')); } public function getMinExecTime() { return $this->aeconfig->get('akeeba.tuning.min_exec_time', 1000); } public function getMaxExecTime() { return $this->aeconfig->get('akeeba.tuning.max_exec_time', 5); } public function getRuntimeBias() { return $this->aeconfig->get('akeeba.tuning.run_time_bias', 75); } }