首页 > 代码库 > 最土团购系统全局核心文件app.php介绍

最土团购系统全局核心文件app.php介绍

最土团购系统是国内比较常见的团购程序,在国内团购系统份额中所占比例还是比较大的。下面分析一下它的全局核心文件app.php,看看能不能找到一些干货,顺便也籍此开始深入了解下这个开源的团购系统。

注释都写到代码里了,程序用到的自定义函数k7娱乐城也单独地在后面列出,应该是比较好懂的了。

view source
 
print?
01<?php
02require_once(dirname(__FILE__). ‘/include/application.php‘);
03 
04// 如果magic_quotes_gpc为on则去掉addslash对单引号和双引号及空值反斜杠添加的‘‘
05/* magic_quota_gpc */
06$_GET = magic_gpc($_GET);
07$_POST = magic_gpc($_POST);
08$_COOKIE = magic_gpc($_COOKIE);
09 
10// url base64编码为了入库
11/* process currefer*/
12$currefer = uencode(strval($_SERVER[‘REQUEST_URI‘]));
13 
14// 用户session的初始化
15/* session,cache,configure,webroot register */
16Session::Init();
17// 初始化configure目录下的php文件,基本都是第三方支付接口。
18$INI = ZSystem::GetINI();
19/* end */
20 
21/* date_zone */
22if(function_exists(‘date_default_timezone_set‘)) {
23    date_default_timezone_set($INI[‘system‘][‘timezone‘]);
24}
25/* end date_zone */
26 
27 
28/* biz logic */
29$currency = $INI[‘system‘][‘currency‘];
30 
31// 获得用户id
32$login_user_id = ZLogin::GetLoginId();
33// 获得用户信息便于之后调用
34$login_user = Table::Fetch(‘user‘, $login_user_id);
35// 获得开通的城市
36$hotcities = option_hotcategory(‘city‘, false, true);
37// 获得全部设置的城市
38$allcities = option_category(‘city‘, false, true);
39// 通过cookie获取城市,cookie没有则通过ip地址获取
40$city = cookie_city(null);
41 
42if (!isset($_COOKIE[‘referer‘])) {
43    setcookie(‘referer‘,$_SERVER[‘HTTP_REFERER‘]);
44}
45 
46//设置文件不允许访问
47/* not allow access app.php */
48if($_SERVER[‘SCRIPT_FILENAME‘]==__FILE__){
49    // 这里似乎只为linux考虑了,windows下的_FILE_为反斜杠没有考虑进去
50    redirect( WEB_ROOT . ‘/index.php‘);
51}
52/* end */
53// js进行ajax请求时发送的参数,以此判断是否是ajax请求。
54$AJAX = (‘XMLHttpRequest‘ == @$_SERVER[‘HTTP_X_REQUESTED_WITH‘]);
55if (false==$AJAX) {
56    header(‘Content-Type: text/html; charset=UTF-8‘);
57    run_cron();
58} else {
59    // 如果是ajax请求,则添加header信息,进行ajax加载前的设置
60    header("Cache-Control: no-store, no-cache, must-revalidate");
61}
62?>

程序中使用到的部分函数解析

magic_gpc():

view source
 
print?
01<?php
02    define(‘SYS_MAGICGPC‘, get_magic_quotes_gpc());
03   
04    $_POST = magic_gpc($_POST);
05   
06    function magic_gpc($string) {
07        if(SYS_MAGICGPC) {
08            // 如果magic_quotes_gpc为on则去掉addslash对单引号和双引号及空值反斜杠添加的‘‘
09            if(is_array($string)) {
10                foreach($string as $key => $val) {
11                    $string[$key] = magic_gpc($val);
12                }
13            } else {
14                // 脱去addslash,目的是为了入库前统一操作那样更安全,值得借鉴。
15                $string = stripslashes($string);
16            }
17        }
18        return $string;
19    }
20?>

uencode():

view source
 
print?
1function uencode($u) {
2    //放置< >符号单纯base64加密后产生+号这种特殊字符。
3    return base64_encode(urlEncode($u));
4}

最土团购系统全局核心文件app.php介绍