コード例 #1
0
ファイル: base.php プロジェクト: volodymyr-volynets/backend
 /**
  * Write session data
  *
  * @param string $id
  * @param array $data
  * @return boolean
  */
 public function write($id, $data)
 {
     // we only count for presentational content types
     if (object_content_types::exists_static(['where' => ['no_virtual_controller_code' => application::get('flag.global.__content_type'), 'no_content_type_presentation' => 1]])) {
         $inc = 1;
     } else {
         $inc = 0;
     }
     $save = ['sm_session_id' => $id, 'sm_session_expires' => format::now('timestamp', ['add_seconds' => session::$default_options['gc_maxlifetime']]), 'sm_session_last_requested' => format::now('timestamp'), 'sm_session_pages_count,=,~~' => 'sm_session_pages_count + ' . $inc, 'sm_session_user_ip' => $_SESSION['numbers']['ip']['ip'], 'sm_session_user_id' => $_SESSION['numbers']['entity']['em_entity_id'] ?? 0, 'sm_session_data' => $data];
     $db = new db($this->model_seessions->db_link);
     // we update first
     $result = $db->update($this->model_seessions->name, $save, 'sm_session_id');
     if ($result['affected_rows'] == 0) {
         $save['sm_session_started'] = format::now('timestamp');
         $save['sm_session_pages_count'] = $inc;
         unset($save['sm_session_pages_count,=,~~']);
         // we insert
         $result = $db->insert($this->model_seessions->name, [$save]);
     }
     return $result['affected_rows'] ? true : false;
 }
コード例 #2
0
 /**
  * Process magic variables
  */
 public static function process_magic_variables()
 {
     $variables_object = new object_magic_variables();
     $variables = $variables_object->get();
     $input = request::input(null, true, true);
     foreach ($variables as $k => $v) {
         if (!array_key_exists($k, $input)) {
             continue;
         }
         if ($k == '__content_type') {
             $object = new object_content_types();
             $data = $object->get();
             if (isset($data[$input[$k]])) {
                 self::$settings['flag']['global'][$k] = $input[$k];
             }
         } else {
             self::$settings['flag']['global'][$k] = $input[$k];
         }
     }
 }