private function cronInit() { foreach (extension::getInstance()->getAllParams() as $ext_type => $ext_data) { foreach ($ext_data as $ext_item) { if ($ext_item['enabled'] == 1) { $ext_file = root . '/extensions/' . $ext_type . '/' . $ext_item['dir'] . '/cron.php'; if (file_exists($ext_file)) { @(require_once $ext_file); $cname = 'cron_' . $ext_item['dir']; if (class_exists($cname)) { $link = new $cname(); if (method_exists($link, 'getInstance') && method_exists($link, 'make')) { $link::getInstance()->make(); } else { logger::getInstance()->log(logger::LEVEL_WARN, 'Method getInstance() or make() not founded in cron ' . $ext_file); } } else { logger::getInstance()->log(logger::LEVEL_WARN, 'Class ' . $cname . ' not founded in cron ' . $ext_file); } } } } } return null; }
public function init() { $token = isset($_SESSION['token']) ? $_SESSION['token'] : $_COOKIE['token']; $personal_id = isset($_SESSION['person']) ? $_SESSION['person'] : $_COOKIE['person']; $user_ip = system::getInstance()->getRealIp(); // data 1st raw check before sql is used if (strlen($token) == 32 && (filter_var($personal_id, FILTER_VALIDATE_EMAIL) || strlen($personal_id) > 0 && system::getInstance()->isLatinOrNumeric($personal_id))) { $query = "SELECT * FROM\r\n " . property::getInstance()->get('db_prefix') . "_user a,\r\n " . property::getInstance()->get('db_prefix') . "_user_access_level b,\r\n " . property::getInstance()->get('db_prefix') . "_user_custom c\r\n WHERE (a.email = ? OR a.login = ?) AND a.token = ? AND a.token_ip = ? AND a.aprove = 0 AND a.access_level = b.group_id AND a.id = c.id"; $stmt = database::getInstance()->con()->prepare($query); $stmt->bindParam(1, $personal_id, \PDO::PARAM_STR); $stmt->bindParam(2, $personal_id, \PDO::PARAM_STR); $stmt->bindParam(3, $token, \PDO::PARAM_STR, 32); $stmt->bindParam(4, $user_ip, \PDO::PARAM_STR); $stmt->execute(); if ($stmt->rowCount() == 1) { $result = $stmt->fetchAll(\PDO::FETCH_ASSOC); $stmt = null; if (time() - $result[0]['token_start'] < property::getInstance()->get('token_time')) { $this->userindex = $result[0]['id']; foreach ($result[0] as $column_index => $column_data) { $this->userdata[$this->userindex][$column_index] = $column_data; } // set template variables template::getInstance()->set(template::TYPE_USER, 'id', $this->userindex); template::getInstance()->set(template::TYPE_USER, 'name', $this->userdata[$this->userindex]['nick']); template::getInstance()->set(template::TYPE_USER, 'admin', permission::getInstance()->have('global/owner')); template::getInstance()->set(template::TYPE_USER, 'admin_panel', permission::getInstance()->have('admin/main')); template::getInstance()->set(template::TYPE_USER, 'news_add', extension::getInstance()->getConfig('enable_useradd', 'news', extension::TYPE_COMPONENT, 'bol')); template::getInstance()->set(template::TYPE_USER, 'balance', $this->userdata[$this->userindex]['balance']); } } } }
public function make() { if (!property::getInstance()->get('maintenance')) { // is not a maintenance mod return; } if (permission::getInstance()->have('admin/main')) { // not show for admin return; } $login_form = extension::getInstance()->call(extension::TYPE_COMPONENT, 'user')->viewLogin(); // call to login view & worker $tpl = template::getInstance()->twigRender('maintenance.tpl', array('login_form' => $login_form)); // render with login form template::getInstance()->justPrint($tpl, array()); }
/** * Get admin interface all available permissions * @return array */ public function getAdminPermissions() { $ext = extension::getInstance()->getAllParams(); $result = array(); $general_rights = admin::getInstance()->getDefaultAccessRights(); foreach ($general_rights as $right) { $result[] = $right; } foreach ($ext as $ext_data) { foreach ($ext_data as $ext_item) { $ext_name = $ext_item['dir']; $ext_type = $ext_item['type']; $ext_enabled = $ext_item['enabled'] == 1; $pathway = root . '/extensions/' . $ext_type . '/' . $ext_name . '/back.php'; if ($ext_enabled && file_exists($pathway)) { $cname = $ext_type . '_' . $ext_name . '_back'; require_once $pathway; if (class_exists($cname)) { $init = new $cname(); if (method_exists($init, 'getInstance')) { $object = @$init::getInstance(); $data = null; if (method_exists($object, 'accessData')) { $data = @$object->accessData(); // @deprecated } elseif (method_exists($init, '_accessData')) { $data = @$object->_accessData(); } foreach ($data as $single) { $result[] = $single; } $init = null; } } } } } return $result; }
/** * Init current component or model and prepare data to display */ public function makeRoute() { $way = $this->getUriArray(); // its can be a main blank page ? if (extension::getInstance()->foundRoute($way[0])) { // its a component? $object = extension::getInstance()->call(extension::TYPE_COMPONENT, $way[0]); if (is_object($object) && method_exists($object, 'make')) { $object->make(); } } }