Exemple #1
0
 function check_login()
 {
     if (!User::is_login()) {
         AZLib::check_uri();
         Url::redirect_url('?page=sign_in&href=' . base64_encode(CGlobal::$query_string));
     }
 }
Exemple #2
0
 function PostItem($row)
 {
     Module::Module($row);
     if (User::is_login()) {
         if (!User::have_permit(ADMIN_ITEM) || User::is_block()) {
             Url::access_denied();
         } else {
             if (Url::get('cmd') == 'edit') {
                 if (Url::get('id')) {
                     require_once 'forms/EditItemForm.php';
                     $this->add_form(new EditItemForm());
                     return;
                 }
             }
             if (Url::get('cmd') != '') {
                 Url::redirect_current();
             }
             require_once 'forms/PostItemForm.php';
             $this->add_form(new PostItemForm());
         }
     } else {
         AZLib::check_uri();
         Url::redirect_url('?page=sign_in&href=' . base64_encode(CGlobal::$query_string));
     }
 }
Exemple #3
0
 function update_user_online()
 {
     $user_id = isset($_SESSION['user_id']) ? (int) $_SESSION['user_id'] : 0;
     $session_id = session_id();
     $page = '';
     $page_id = 0;
     $user_name = isset($_SESSION['user_name']) ? $_SESSION['user_name'] : 0;
     $login_type = isset($_SESSION['openid_url']) && $_SESSION['openid_url'] != '' ? 1 : 0;
     $open_id = isset($_SESSION['openid_url']) && $_SESSION['openid_url'] != '' ? $_SESSION['openid_url'] : '';
     if (class_exists('AZNet')) {
         $page = AZNet::$page['name'];
         $page_id = (int) AZNet::$page['id'];
     }
     if (($page == 'ItemDetail' || $page == 'item_detail') && isset($_GET['id']) && $_GET['id']) {
         $item_id = (int) $_GET['id'];
     } else {
         $item_id = 0;
     }
     if (in_array(basename($_SERVER['PHP_SELF']), array('ebxml.php', 'ajax.php', 'captcha.php'))) {
         $ref_url = '';
     } else {
         AZLib::check_uri();
         $ref_url = CGlobal::$query_string;
     }
     $sql = "SELECT  session_referer, page, page_id, item_id FROM " . _SESS_TABLE . " WHERE session_id = '{$session_id}'";
     $result = DB::query($sql, __LINE__ . __FILE__);
     if (mysql_num_rows($result)) {
         $s_row = mysql_fetch_assoc($result);
     } else {
         $s_row = array();
     }
     if ($s_row) {
         if ($ref_url == '' || in_array(basename($_SERVER['PHP_SELF']), array('ebxml.php', 'ajax.php', 'captcha.php'))) {
             $ref_url = stripslashes($s_row['session_referer']);
         }
         if (!$page) {
             $page = $s_row['page'];
         }
         if (!$page_id) {
             $page_id = (int) $s_row['page_id'];
         }
         if (!$item_id) {
             $item_id = (int) $s_row['item_id'];
         }
         $sql = "UPDATE " . _SESS_TABLE . " SET\r\n\t\t\t\t\t\t\t\t\t\t\t\t  \tsession_expires = " . time() . ", \r\n\t\t\t\t\t\t\t\t\t\t\t\t  \tsession_referer = '" . addslashes($ref_url) . "',\r\n\t\t\t\t\t\t\t\t\t\t\t\t  \tsession_ip \t\t= '" . $_SERVER['SERVER_ADDR'] . '::' . $_SERVER['REMOTE_ADDR'] . "', \r\n\t\t\t\t\t\t\t\t\t\t\t\t  \tpage \t\t\t= '{$page}',\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t  \tpage_id \t\t= {$page_id},\r\n\t\t\t\t\t\t\t\t\t\t\t\t  \tcategory_id \t= " . CGlobal::$curCategory . ",\r\n\t\t\t\t\t\t\t\t\t\t\t\t  \titem_id \t\t= {$item_id},\r\n\t\t\t\t\t\t\t\t\t\t\t\t  \tuser_id \t\t= '{$user_id}',\r\n\t\t\t\t\t\t\t\t\t\t\t\t  \tuser_name\t\t= '{$user_name}',\r\n\t\t\t\t\t\t\t\t\t\t\t\t  \tlogin_type\t\t= '{$login_type}',\r\n\t\t\t\t\t\t\t\t\t\t\t\t  \topen_id\t\t\t= '{$open_id}'\r\n\t\t\t\t\t\t\t\t\t\t\t\tWHERE session_id \t= '{$session_id}'";
     } else {
         $sql = "INSERT INTO " . _SESS_TABLE . " \r\n\t\t\t\t\t\t\t\t  (\r\n\t\t\t\t\t\t\t\t  \tsession_id, \r\n\t\t\t\t\t\t\t\t  \tsession_expires,  \r\n\t\t\t\t\t\t\t\t  \tsession_referer, \r\n\t\t\t\t\t\t\t\t  \tsession_ip,   \r\n\t\t\t\t\t\t\t\t  \tpage,  \r\n\t\t\t\t\t\t\t\t  \tpage_id, \r\n\t\t\t\t\t\t\t\t  \tcategory_id, \r\n\t\t\t\t\t\t\t\t  \titem_id, \r\n\t\t\t\t\t\t\t\t  \tuser_id,  \r\n\t\t\t\t\t\t\t\t  \tuser_name,\r\n\t\t\t\t\t\t\t\t  \tlogin_type,\r\n\t\t\t\t\t\t\t\t  \topen_id\r\n\t\t\t\t\t\t\t\t  \t) \r\n\t\t                   VALUES (\r\n\t\t                   \t\t\t'{$session_id}', \t\t\t\t\r\n\t\t                   \t\t\t" . time() . ", \t\t\t\r\n\t\t                   \t\t\t'" . addslashes($ref_url) . "', \t   \r\n\t\t                   \t\t\t'" . $_SERVER['SERVER_ADDR'] . '::' . $_SERVER['REMOTE_ADDR'] . "',\t\r\n\t\t                   \t\t\t'{$page}',\t  \r\n\t\t                   \t\t\t{$page_id},\t\t   \r\n\t\t                   \t\t\t" . CGlobal::$curCategory . ", \t\t \r\n\t\t                   \t\t\t{$item_id}, \t  \r\n\t\t                   \t\t\t{$user_id} ,\t\t\r\n\t\t                   \t\t\t'{$user_name}' ,\t\t\r\n\t\t                   \t\t\t{$login_type} ,\t\t\r\n\t\t                   \t\t\t'{$open_id}')";
     }
     DB::query($sql, __LINE__ . __FILE__);
     if (User::is_login() && MEMCACHE_ON) {
         $user = User::$current->data;
         if ($user && !isset($user['last_login']) || isset($user['last_login']) && $user['last_login'] < TIME_NOW - 300) {
             DB::query("UPDATE user SET last_login="******" WHERE id={$user['id']}");
             $user_memcache = AZMemcache::do_get("user:{$user['id']}");
             if ($user_memcache) {
                 $user_memcache['last_login'] = TIME_NOW;
                 AZMemcache::do_put("user:{$user['id']}", $user_memcache);
             }
         }
     }
     if (StaticCache::notExistCache('del_exs', 1)) {
         //Run 1 cronjob/15s
         StaticCache::startCache();
         StaticCache::endCache();
         DB::query("DELETE FROM " . _SESS_TABLE . " WHERE session_expires <= " . (time() - _SESS_TIME_EXPIRE));
     }
 }
Exemple #4
0
 static function check_uri()
 {
     if (!self::$check_uri) {
         CGlobal::$request_uri = $_SERVER['REQUEST_URI'];
         if (isset($_SERVER['HTTP_REFERER'])) {
             CGlobal::$referer_url = $_SERVER['HTTP_REFERER'];
         }
         CGlobal::$query_string = $_SERVER['QUERY_STRING'] ? '?' . $_SERVER['QUERY_STRING'] : '';
         $dir = dirname($_SERVER['SCRIPT_NAME']) ? dirname($_SERVER['SCRIPT_NAME']) : '';
         $dir = str_replace('\\', '/', $dir);
         if ($dir && $dir != '/' && $dir != './') {
             if ($dir[0] != '/') {
                 $dir = '/' . $dir;
             }
             $dir .= $dir[strlen($dir) - 1] != '/' ? '/' : '';
             CGlobal::$query_string = str_replace($dir, '', CGlobal::$request_uri);
         } else {
             $uri = CGlobal::$request_uri;
             if (strlen($uri) > 1) {
                 while ($uri[0] == '/') {
                     $uri = substr($uri, 1, strlen($uri) - 1);
                 }
                 CGlobal::$query_string = $uri;
                 unset($uri);
             } else {
                 CGlobal::$query_string = '';
             }
         }
         self::$check_uri = true;
     }
 }
Exemple #5
0
 function draw()
 {
     global $display;
     AZLib::get_config();
     /*if (CGlobal::$curZone) {
           $zone_id = CGlobal::$curZone['id'];
       } else {
           $zone_id = 0;
       }*/
     $zid = (int) Url::get("zone_id", 0);
     $display->add('cur_page', AZNet::$page['name']);
     $display->add('ADMIN_LOGO', User::have_permit(ADMIN_LOGO));
     $in_detail_page = AZNet::$page['name'] == 'item_detail';
     $topcats = array();
     $pcats = array();
     $stt = 0;
     $stt2 = 0;
     foreach (CGlobal::$subCategories as $top_id => $sub_cats) {
         if (isset(CGlobal::$allCategories[$top_id]) && CGlobal::$allCategories[$top_id]['parent_id'] == 0) {
             $topcat = CGlobal::$allCategories[$top_id];
             if ($topcat['status'] == "HOME") {
                 $topcat['name'] = $topcat['brief_name'];
                 if (count($sub_cats) > 7) {
                     $stt2++;
                 }
                 $topcat['left'] = "-" . (($stt2 - 1) * 30 + 10) . "px";
                 $topcat['url'] = WEB_DIR . "c{$topcat['id']}/{$topcat['ebname']}";
                 $topcat['selected'] = (int) (CGlobal::$curMainCat && CGlobal::$curMainCat['id'] == $topcat['id']);
                 $topcat['selected2'] = 0;
                 if ($topcat['selected']) {
                     if ($sub_cats) {
                         $topcat['class'] = "hm_item_list_sub";
                     } else {
                         $topcat['class'] = "hm_item_seleted";
                     }
                 } else {
                     $topcat['class'] = "hm_item";
                 }
                 if ($sub_cats) {
                     $topcat['subs'] = array();
                     $num_sub = 0;
                     foreach ($sub_cats as $sid => $subcat) {
                         if ($subcat['status'] != "HIDE") {
                             $subcat['url'] = WEB_DIR . "c{$subcat['id']}/{$topcat['ebname']}-{$subcat['ebname']}";
                             //$subcat['name'] 		= $subcat['brief_name'];
                             if (CGlobal::$curLevel2Cat && CGlobal::$curLevel2Cat['id'] == $subcat['id']) {
                                 $topcat['selected2'] = 1;
                                 $topcat['class'] = "hm_item_seleted";
                                 $subcat['class'] = "class='sub_seleted'";
                             }
                             $topcat['subs'][$sid] = $subcat;
                             $num_sub++;
                         }
                     }
                     if ($topcat['selected'] && !$topcat['selected2']) {
                         $max_per_col = ceil($num_sub / 5);
                         if ($max_per_col <= 0) {
                             $max_per_col = 1;
                         }
                         $display->add('max_per_col', $max_per_col);
                         $display->add('subcat_items', $topcat['subs']);
                     }
                 }
                 $topcats[$top_id] = $topcat;
                 // if($stt++ >= 6)
                 //break;
             }
         }
     }
     $display->add('topcats', $topcats);
     $display->add('web_dir', WEB_DIR);
     $display->add('DATA_PATH', DATA_PATH);
     //Load Logo
     //$test_time = mktime(0,0,0,11,26,2010);
     AZLib::getWebsiteLogo();
     if (CGlobal::$websiteLogo !== FALSE && isset(CGlobal::$websiteLogo['current']['expired']) && CGlobal::$websiteLogo['current']['expired'] && CGlobal::$websiteLogo['current']['expired'] < TIME_NOW) {
         //  Nếu Logo đang sử dụng đã hết hạn, lấy Logo còn hạn hoặc lấy Logo mặc định
         AZLib::getWebsiteLogo(1);
     }
     $display->add('logo', CGlobal::$websiteLogo['current']);
     $display->add('logos', CGlobal::$websiteLogo['logos']);
     //Top menu
     if (!isset($_SESSION['is_load_page_first'])) {
         $_SESSION['is_load_page_first'] = 0;
     }
     $display->add('url_root', WEB_ROOT);
     if (!User::is_login()) {
         $num_mess = 0;
     } else {
         $num_mess = User::$current->data['total_pm'] > 0 ? User::$current->data['total_pm'] : 0;
     }
     if (User::id()) {
         $display->add('user_id', User::id());
         $user_name = User::$current->data['user_name'];
         $display->add('user_name', $user_name);
     }
     $referer_login_url = '';
     $yahoo_open_id_href = '';
     $google_open_id_href = '';
     if (isset($_SESSION['openid_url']) && $_SESSION['user_id'] != 0) {
         $display->add('show_openid', FALSE);
     } elseif (!User::is_az_team()) {
         AZLib::check_uri();
         $referer_login_url = base64_encode(CGlobal::$query_string);
         $yahoo_open_id_href = OID_URL . 'index.html?openid_identifier=http://me.yahoo.com/&long_redirect=' . base64_encode(CGlobal::$query_string);
         $google_open_id_href = OID_URL . 'index.html?openid_identifier=https://www.google.com/users/o8/id&long_redirect=' . base64_encode(CGlobal::$query_string);
         $display->add('show_openid', TRUE);
     }
     $display->add('OID_URL', $yahoo_open_id_href);
     $display->add('OID_URL_GOG', $google_open_id_href);
     $display->add('referer_login_url', $referer_login_url);
     $display->add('google_open_id_href', $google_open_id_href);
     $display->add('yahoo_open_id_href', $yahoo_open_id_href);
     $display->add('openid_on', OPENID_ON);
     $display->add('num_mess', $num_mess);
     $display->add('is_login', (int) User::is_login());
     $display->add('is_admin', (int) User::is_az_team());
     $display->add('is_admin_item', (int) User::have_permit(ADMIN_ITEM));
     $display->add('is_root', User::is_root());
     //End Top menu
     $display->add('category_id', CGlobal::$curCategory);
     $display->add('keywords', AZLib::cleanHtml(Url::get('keywords', '')));
     $display->add('not_error_page', (int) (AZNet::$page['name'] != 'error'));
     $display->add('is_load_page_first', $_SESSION['is_load_page_first']);
     // Tỷ giá
     AZLib::get_config();
     //$exchange = CGlobal::$configs['exchange']['conf_val'];
     //$display->add('exchange', number_format($exchange, 0, ',', '.'));
     // End Tỷ giá
     if ($_SESSION['is_load_page_first'] == 1) {
         $_SESSION['is_load_page_first'] = 0;
     }
     //End of top menu
     $curMainCat = CGlobal::$curMainCat;
     $curLevel2Cat = CGlobal::$curLevel2Cat;
     //Cat menu
     $sub_menu = FALSE;
     $sub_menu = $curMainCat && isset(CGlobal::$allCategories[$curMainCat['id']]) && isset(CGlobal::$subCategories[$curMainCat['id']]);
     $display->add('CURENT_TOP_CATID', (int) @$curMainCat['id']);
     $display->add('CURENT_LEVEL2_CATID', (int) @$curLevel2Cat['id']);
     $display->add('CURENT_CITY_ID', CGlobal::$curCity);
     $display->add('cur_page', Url::get('page'));
     $display->add('sub_menu', $sub_menu);
     $display->add('block_id', Module::$block_id);
     // System::debug($display->get_template_vars());
     //End Cat menu
     if (User::is_root()) {
         $display->add("DEBUG", DEBUG);
         $display->add("show_bug_url", AZRewrite::formatUrl(Url::build_all(array(), "ebug=" . (int) (!DEBUG))));
     }
     ################################################################################################################
     #Event config
     $event_on = @CGlobal::$configs['event_on']['conf_val'];
     $submit = Url::get('submit', '');
     if (User::is_admin()) {
         if ($submit == 'Cập nhật') {
             $display->add('msg', $this->showFormErrorMessages(1));
         }
         $status_arr = array(0 => 'Tắt', 1 => 'Bật');
         $display->add('status_option', AZLib::getOption($status_arr, $event_on));
     }
     $display->add('event', $event_on);
     $display->add("data_path", DATA_PATH);
     #Event config
     ################################################################################################################
     ################################################################################################################
     #Search
     $search_catid = (int) Url::get('search_catid');
     $search_cat_arr = array(-1 => '--Tất cả danh mục--');
     foreach (CGlobal::$subCategories as $top_id => $sub_cats) {
         if (isset(CGlobal::$allCategories[$top_id]) && CGlobal::$allCategories[$top_id]['parent_id'] == 0) {
             $topcat = CGlobal::$allCategories[$top_id];
             if ($topcat['status'] != "HIDE") {
                 $search_cat_arr[$top_id] = $topcat['name'];
                 if ($sub_cats) {
                     foreach ($sub_cats as $sid => $subcat) {
                         if ($subcat['status'] != "HIDE") {
                             $search_cat_arr[$sid] = "-----" . $subcat['name'];
                         }
                     }
                 }
             }
         }
     }
     $display->add('search_cat_option', AZLib::getOption($search_cat_arr, $search_catid));
     #Search
     ################################################################################################################
     /*   System::debug($topcats);*/
     $cat_newss = array();
     $news_cat_id = Url::get('news_catid', 'id', 0);
     AZLib::getNewsCats();
     $display->add('news_cat_id', $news_cat_id);
     if (CGlobal::$allNewsCategories) {
         foreach (CGlobal::$allNewsCategories as $news_cat) {
             if ($news_cat['public']) {
                 $news_cat['url'] = URL::build('news_list', array('news_catid' => $news_cat['id'], 'azname' => AZLib::safe_title($news_cat['name'])));
                 $cat_newss[$news_cat['id']] = $news_cat;
             }
         }
     }
     $display->add('cat_newss', $cat_newss);
     $display->output("Header");
     // $display->output("header_old");
 }
Exemple #6
0
 /**
  * Write the session
  * @param int session id
  * @param string data of the session
  */
 function write($session_id, $data)
 {
     $page = '';
     $page_id = 0;
     $user_id = isset($_SESSION['user_id']) ? (int) $_SESSION['user_id'] : 0;
     $user_name = isset($_SESSION['user_name']) ? $_SESSION['user_name'] : 0;
     $login_type = isset($_SESSION['openid_url']) && $_SESSION['openid_url'] != '' ? 1 : 0;
     $open_id = isset($_SESSION['openid_url']) && $_SESSION['openid_url'] != '' ? $_SESSION['openid_url'] : '';
     if (class_exists('AZNet')) {
         $page = AZNet::$page['name'];
         $page_id = (int) AZNet::$page['id'];
     }
     if (($page == 'ItemDetail' || $page == 'item_detail') && isset($_GET['id']) && $_GET['id']) {
         $item_id = (int) $_GET['id'];
     } else {
         $item_id = 0;
     }
     if (in_array(basename($_SERVER['PHP_SELF']), array('ebxml.php', 'ajax.php', 'captcha.php'))) {
         $ref_url = '';
     } else {
         AZLib::check_uri();
         $ref_url = CGlobal::$query_string;
     }
     if ($this->data) {
         if ($ref_url == '' || in_array(basename($_SERVER['PHP_SELF']), array('ebxml.php', 'ajax.php', 'captcha.php'))) {
             $ref_url = stripslashes($this->data['session_referer']);
         }
         if (!$page) {
             $page = $this->data['page'];
         }
         if (!$page_id) {
             $page_id = (int) $this->data['page_id'];
         }
         if (!$item_id) {
             $item_id = (int) $this->data['item_id'];
         }
         $sql = "UPDATE " . _SESS_TABLE . " SET\r\n\t\t\t\t\t\t\t\t\t\t\t  \tsession_expires = " . TIME_NOW . ", \r\n\t\t\t\t\t\t\t\t\t\t\t  \tsession_data \t= '{$data}',\r\n\t\t\t\t\t\t\t\t\t\t\t  \tsession_referer = '" . addslashes($ref_url) . "',\r\n\t\t\t\t\t\t\t\t\t\t\t  \tsession_ip \t\t= '" . $_SERVER['SERVER_ADDR'] . '::' . $_SERVER['REMOTE_ADDR'] . "', \r\n\t\t\t\t\t\t\t\t\t\t\t  \tpage \t\t\t= '{$page}',\t\r\n\t\t\t\t\t\t\t\t\t\t\t  \tpage_id \t\t= {$page_id},\r\n\t\t\t\t\t\t\t\t\t\t\t  \tcategory_id \t= " . CGlobal::$curCategory . ",\r\n\t\t\t\t\t\t\t\t\t\t\t  \titem_id \t\t= {$item_id},\r\n\t\t\t\t\t\t\t\t\t\t\t  \tuser_id \t\t= '{$user_id}',\r\n\t\t\t\t\t\t\t\t\t\t\t  \tuser_name\t\t= '{$user_name}',\r\n\t\t\t\t\t\t\t\t\t\t\t  \tlogin_type\t\t= '{$login_type}',\r\n\t\t\t\t\t\t\t\t\t\t\t  \topen_id\t\t\t= '{$open_id}'\r\n\t\t\t\t\t\t\t\t\t\t\tWHERE session_id \t= '{$session_id}'";
     } else {
         $sql = "INSERT INTO " . _SESS_TABLE . " \r\n    \t\t\t\t\t\t  (\r\n    \t\t\t\t\t\t  \tsession_id, \r\n    \t\t\t\t\t\t  \tsession_expires,  \r\n    \t\t\t\t\t\t  \tsession_data,  \r\n    \t\t\t\t\t\t  \tsession_referer, \r\n    \t\t\t\t\t\t  \tsession_ip,   \r\n    \t\t\t\t\t\t  \tpage,  \r\n    \t\t\t\t\t\t  \tpage_id, \r\n    \t\t\t\t\t\t  \tcategory_id, \r\n    \t\t\t\t\t\t  \titem_id, \r\n    \t\t\t\t\t\t  \tuser_id,  \r\n    \t\t\t\t\t\t \tuser_name,\r\n\t\t\t\t\t\t\t  \tlogin_type,\r\n\t\t\t\t\t\t\t  \topen_id\r\n    \t\t\t\t\t\t  \t) \r\n                       VALUES (\r\n                       \t\t\t'{$session_id}', \t\t\t\t\r\n                       \t\t\t" . TIME_NOW . ", \t\t\t\r\n                       \t\t\t'{$data}', \t\t\t   \r\n                       \t\t\t'" . addslashes($ref_url) . "', \t   \r\n                       \t\t\t'" . $_SERVER['SERVER_ADDR'] . '::' . $_SERVER['REMOTE_ADDR'] . "',\t\r\n                       \t\t\t'{$page}',\t  \r\n                       \t\t\t{$page_id},\t\t   \r\n                       \t\t\t" . CGlobal::$curCategory . ", \t\t \r\n                       \t\t\t{$item_id}, \t  \r\n                       \t\t\t{$user_id} ,\t\t\r\n                       \t\t\t'{$user_name}',\t\t\r\n\t                   \t\t\t{$login_type} ,\t\t\r\n\t                   \t\t\t'{$open_id}')";
     }
     $this->query($sql, __LINE__ . __FILE__);
     if (User::is_login() && MEMCACHE_ON) {
         //Nếu đã đăng nhập
         $user = User::$current->data;
         if ($user && !isset($user['last_login']) || isset($user['last_login']) && $user['last_login'] < TIME_NOW - 300) {
             DB::query("UPDATE user SET last_login="******" WHERE id={$user['id']}");
             $user_memcache = AZMemcache::do_get("user:{$user['id']}");
             if ($user_memcache) {
                 $user_memcache['last_login'] = TIME_NOW;
                 AZMemcache::do_put("user:{$user['id']}", $user_memcache);
             }
         }
     }
     if ($this->effect_rows) {
         //if row was created, return true
         return true;
     }
     return false;
     //an unknown error occured
 }