示例#1
0
 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;
 }
示例#2
0
 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']);
             }
         }
     }
 }
示例#3
0
 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());
 }
示例#4
0
 /**
  * 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;
 }
示例#5
0
 /**
  * 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();
         }
     }
 }