コード例 #1
0
 /**
  *
  */
 function get($name)
 {
     $result = xanth_db_query("SELECT * FROM entry_type WHERE name = '%s'", $name);
     if ($row = xanth_db_fetch_object($result)) {
         return new xEntryType($row->name, $row->view_mode_id);
     }
     return NULL;
 }
コード例 #2
0
 /**
  *
  */
 function exists($access_rule)
 {
     $result = xanth_db_query("SELECT * FROM access_rule WHERE name = '%s'", $access_rule);
     if ($row = xanth_db_fetch_object($result)) {
         return TRUE;
     }
     return FALSE;
 }
コード例 #3
0
 /**
  *
  */
 function find_all()
 {
     $elems = array();
     $result = xanth_db_query("SELECT * FROM visual_element");
     while ($row = xanth_db_fetch_object($result)) {
         $elems[] = new xVisualElement($row->name);
     }
     return $elems;
 }
コード例 #4
0
 /**
  *
  */
 function get($area_name)
 {
     $elems = array();
     $result = xanth_db_query("SELECT * FROM theme_area WHERE name = '%s'", $area_name);
     if ($row = xanth_db_fetch_object($result)) {
         return new xThemeArea($row->name, $row->view_mode);
     }
     return NULL;
 }
コード例 #5
0
 /**
  * Return a new xContentFormat object or NULL
  */
 function load($name)
 {
     $result = xanth_db_query("SELECT * FROM content_format WHERE name = '%s'", $name);
     if ($row = xanth_db_fetch_object($result)) {
         $format = new xContentFormat($row->name, $row->description);
         return $format;
     }
     return NULL;
 }
コード例 #6
0
 /**
  *
  */
 function get_default_for_element($visual_element)
 {
     $modes = array();
     $result = xanth_db_query("SELECT * FROM view_mode WHERE relative_visual_element = '%s' AND default_for_element = %d", $visual_element, TRUE);
     if ($row = xanth_db_fetch_object($result)) {
         return new xViewMode($row->id, $row->name, $row->relative_visual_element, $row->default_for_element, $row->display_procedure);
     }
     return NULL;
 }
コード例 #7
0
 /**
  *
  */
 function get_view_mode_procedure($element)
 {
     if (isset($this->themed_elements[$element])) {
         $result = xanth_db_query("SELECT * FROM view_mode WHERE id = %d", $this->themed_elements[$element]);
         if ($row = xanth_db_fetch_object($result)) {
             return $row->display_procedure;
         }
         return NULL;
     } else {
         //return the default view mode for element
         $result = xanth_db_query("SELECT * FROM view_mode WHERE relative_visual_element = '%s' AND default_for_element = %d", $element, TRUE);
         if ($row = xanth_db_fetch_object($result)) {
             return $row->display_procedure;
         }
         xanth_log(LOG_LEVEL_FATAL_ERROR, 'Default view mode for visual element ' . $element . ' not found', __CLASS__ . '::' . __FUNCTION__);
         return NULL;
     }
 }
コード例 #8
0
 /**
  *
  */
 function has_access_rule($access_rule)
 {
     $result = xanth_db_query("SELECT * FROM role_access_rule WHERE roleName = '%s' AND access_rule = '%s'", $this->name, $access_rule);
     if (xanth_db_fetch_object($result)) {
         return TRUE;
     }
     return FALSE;
 }
コード例 #9
0
 /**
  *
  */
 function find_all()
 {
     xanth_db_start_transaction();
     $entries = array();
     $result = xanth_db_query("SELECT * FROM entry");
     for ($i = 0; $row = xanth_db_fetch_object($result); $i++) {
         $entries[$i] = new xEntry($row->id, $row->title, $row->type, $row->author, $row->content, $row->content_format, $row->published, $row->description, $row->keywords, array(), xanth_db_decode_timestamp($row->creation_time));
         $result2 = xanth_db_query("SELECT * FROM categorytoentry,category WHERE entryId = %d AND category.id = catId", $row->id);
         $categories = array();
         while ($row = xanth_db_fetch_object($result2)) {
             $categories[] = new xCategory($row->id, $row->title, $row->parent_id);
         }
         $entry[$i]->categories = $categories;
     }
     xanth_db_commit();
     return $entries;
 }
コード例 #10
0
 /**
  *
  */
 function find_by_entry_type($entry_type)
 {
     $categories = array();
     $result = xanth_db_query("SELECT * FROM category_to_entry_type WHERE entry_type = '%s'", $entry_type);
     while ($row = xanth_db_fetch_object($result)) {
         $categories[] = get($row->cat_id);
     }
     return $categories;
 }
コード例 #11
0
 /**
  *
  */
 function check_persistent_login()
 {
     if (isset($_COOKIE['xanth_login'])) {
         list($username, $cookie_token) = @unserialize($_COOKIE['xanth_login']);
         if (!empty($username) && !empty($cookie_token)) {
             $result = xanth_db_query("SELECT cookie_token,id FROM user WHERE username = '******'", $username);
             if ($row = xanth_db_fetch_object($result)) {
                 if ($row->cookie_token === $cookie_token) {
                     //ok regenerate token for additional security
                     xUser::_update_persistent_login($username);
                     //set new session
                     xUser::_set_session($username, $row->id);
                     return TRUE;
                 }
             }
         }
     }
     return FALSE;
 }