`
lineageII
  • 浏览: 82248 次
  • 来自: ...
社区版块
存档分类
最新评论

zuitu 最土团购源码分析(一)前台部分

    博客分类:
  • php
阅读更多

无可厚非PHP还是普及度最高,最简单的语言。

想快速开发系统还是用PHP比较好。

初学PHP,那就以现在最火的团购网站源码最土来做分析学习。

 

最土网站 http://www.zuitu.com/

 

开发工具

dreamwear

xampp

 

前台分析

我们首先来看首页index.php的源码

 

<?php
require_once(dirname(__FILE__) . '/app.php');

if(!$INI['db']['host']) redirect( WEB_ROOT . '/install.php' );
if($city&&option_yes('rewritecity')){
	redirect(WEB_ROOT."/{$city['ename']}");
}

$request_uri = 'index';
$team = $teams = index_get_team($city['id']);

if ($team && $team['id']) {
	$_GET['id'] = abs(intval($team['id']));
	die(require_once( dirname(__FILE__) . '/team.php'));
}
elseif ($teams) {
	$disable_multi = true;
	die(require_once( dirname(__FILE__) . '/multi.php'));
}

include template('subscribe');
 

我勒个去,找不到HTML标签。难道HTML用模版实现的?

算了,先从第一句看吧,谁叫我是菜鸟呢。

 

 

require_once(dirname(__FILE__) . '/app.php');

直接google,过程省略。

http://php.net/manual/zh/function.require-once.php

意思就是只引用一次app.php。 app.php应该是MVC框架的控制器。

我们再看看app.php里写了什么。

 

 

<?php
require_once(dirname(__FILE__). '/include/application.php');
/* magic_quota_gpc */
$_GET = magic_gpc($_GET);
$_POST = magic_gpc($_POST);
$_COOKIE = magic_gpc($_COOKIE);

/* process currefer*/
$currefer = uencode(strval($_SERVER['REQUEST_URI']));

/* session,cache,configure,webroot register */
Session::Init();
$INI = ZSystem::GetINI();
/* end */

/* date_zone */
if(function_exists('date_default_timezone_set')) { 
	date_default_timezone_set($INI['system']['timezone']); 
}
/* end date_zone */


/* biz logic */
$currency = $INI['system']['currency'];
$login_user_id = ZLogin::GetLoginId();
$login_user = Table::Fetch('user', $login_user_id);
$hotcities = option_hotcategory('city', false, true);
$allcities = option_category('city', false, true);
$city = cookie_city(null);

/* not allow access app.php */
if($_SERVER['SCRIPT_FILENAME']==__FILE__){
	redirect( WEB_ROOT . '/index.php');
}
/* end */
$AJAX = ('XMLHttpRequest' == @$_SERVER['HTTP_X_REQUESTED_WITH']);
if (false==$AJAX) { 
	header('Content-Type: text/html; charset=UTF-8'); 
	run_cron();
} else {
	header("Cache-Control: no-store, no-cache, must-revalidate");
}
 

马勒隔壁,这么多。看得头晕,还是先把index.php看完再看下面一层吧。不然就是无限循环啊。。。切记,切记。

 

 

<?php
require_once(dirname(__FILE__) . '/app.php');	/*只加载一次app.php*/
if(!$INI['db']['host']) redirect( WEB_ROOT . '/install.php' );	/* $INI中是否存在['db']['host'],$INI在app.php中加载 */
if($city&&option_yes('rewritecity')){ /* 如果有city变量并且XXX就直接跳转到根目录所有的省链接 */
	redirect(WEB_ROOT."/{$city['ename']}");
}

$request_uri = 'index';
$team = $teams = index_get_team($city['id']); /* index_get_team函数在include/function/common.php里 */

if ($team && $team['id']) {
	$_GET['id'] = abs(intval($team['id'])); /* 字符串转整数并取绝对值,为什么要这样做? */
	die(require_once( dirname(__FILE__) . '/team.php')); /* 加载team.php 并终止*/
}
elseif ($teams) {
	$disable_multi = true;
	die(require_once( dirname(__FILE__) . '/multi.php')); 
}

include template('subscribe'); /* 加载模版subscribe, subscribe是什么? */

 

待解决疑问  

 

/* session,cache,configure,webroot register */
Session::Init();
$INI = ZSystem::GetINI();
/* end */

 

include/function/common.php

 

function index_get_team($city_id) {
	global $INI;
	$multi = option_yes('indexmulti');
	if (!$multi) return current_team($city_id);
	$city_id = abs(intval($city_id));
	$now = time();
	$size = abs(intval($INI['system']['sideteam']));
	if ($size<=1) return current_team($city_id);

	$oc = array( 
			'city_id' => array($city_id, 0), 
			'team_type' => 'normal',
			"begin_time < '{$now}'",
			"end_time > '{$now}'",
			);
	$teams = DB::LimitQuery('team', array(
				'condition' => $oc,
				'order' => 'ORDER BY `sort_order` DESC, `id` DESC',
				'size' => $size,
				));
	if(count($teams) == 1) return array_pop($teams);
	return $teams;
}
 

 

 

 

 

 

分享到:
评论

相关推荐

    最土团购源码确保能用的

    【标题】"最土团购源码确保能用的"指的是一个特定的团购网站源代码,这个源代码可以用于搭建类似于“最土团购”的在线购物平台。"最土团购"可能是这个平台的名称,或者它曾经是一个知名的团购网站,现在提供其源代码...

    最土团购22套模板

    【标题】"最土团购22套模板"所蕴含的IT知识主要集中在网站设计与开发领域,特别是关于团购网站模板的使用和定制。团购网站是电子商务的一种形式,它通过集中大量用户的需求,以批量购买的方式获取更优惠的价格。模板...

    最土团购商业wap版测试可以

    最土团购商业wap版测试可以 inflating: zuitu/static/img/faq-how-it-works1.gif inflating: zuitu/static/img/faq-how-it-works2.gif inflating: zuitu/static/img/faq-how-it-works3.gif inflating: zuitu/...

    ecshop和最土团购数据库表结构说明(全)

    "zuitu_17p.sql"可能是一个SQL脚本文件,包含了"最土团购"17个部分的数据库创建和填充语句,这将帮助我们了解团购功能的数据库设计。 通过分析这些文件,我们可以深入理解ECSHOP和"最土团购"的后台数据管理机制。...

    最土团购程序最新ZuituGo_Patch_CV2.0_1816_1826补丁

    补丁包 ZuituGo_Patch_CV2.0_1816_1826 2011年2月17日 23:59 发布 ...2、支持支付宝担保交易 3、超单购买灵活处理,转帐户余额 ...由中国创团网http://bbs.0574ngt.com提供,更多团购资源尽在创团网

    最土团购程序商业版 v2.0.23221 完整安装版

    从功能层面来看,前台首页每天显示一个服务或插产 品的限时限最低成团人数的团购项目,具有邮件订阅,好友邀请,人人网、开心网、新浪微博、MSN/QQ分享,短信发送,购买凭证券在线打印、下载等功能。 最土团购程序...

    灯鹭社会化多帐号登录插件 for 最土团购 v1.1

    "灯鹭社会化多帐号登录插件 for 最土团购 v1.1"就是这样一款工具,它极大地提升了用户在最土团购平台的登录体验,让用户能够快速、方便地接入并享受服务。 灯鹭插件的核心功能在于整合了多种社交媒体账号,包括QQ、...

    灯鹭社会化多帐号登录插件 for 最土团购 v1.1.zip

    标题中的“灯鹭社会化多帐号登录插件 for 最土团购 v1.1.zip”表明这是一个专为“最土团购”网站设计的插件,版本号为1.1,且由灯鹭公司提供。灯鹭是一家专注于社交登录解决方案的公司,其插件允许用户通过多种社会...

    最土团购商业程序(CV2.0_1690)

    通过以上分析,我们可以看出最土团购商业程序CV2.0_1690是一款全面的团购解决方案,旨在助力商家提升团购业务的效率和效果。压缩包中的"zuitu2.0"可能是程序的安装文件或者程序的文件夹名,包含了所有程序组件和相关...

    最土 团购模板 2.1 商业版

    【最土团购模板2.1商业版】是一个专为团购业务设计的模板系统,它集成了最新的功能和优化,旨在提升团购网站的用户体验和管理效率。这个模板版本为商业版,意味着它提供了一系列专业级别的特性和服务,适用于企业级...

    灯鹭社会化多帐号登录插件 for 最土团购 v1.1.rar

    《灯鹭社会化多帐号登录插件 for 最土团购 v1.1》是一款针对最土团购平台的扩展插件,旨在为用户提供便捷的社会化媒体登录功能。这款插件允许用户使用如QQ帐号、人人网、腾讯微博以及新浪微博等广泛流行的社交媒体...

    最土团购程序伪静态规则和无www域名转向有www域名规则

    2,将文件上传至根目录,然后用ftp将zuitu.htaccess重命名为.htaccess 3,登陆团购系统后台,设置,页面设置,开启地址重写。 4,团购系统后台缓存,清除,这样就可以了。 注意:本规则只适用于linux系统apache下;

    最土团购模板目录结构

    - **`zuitu`**:此子目录包含了最土团购的特定样式文件。 - **`template`**:模板文件夹,包含页面的HTML结构和其他必要的资源引用。 开发者可以根据需要在`template`目录下添加或修改文件,实现自定义的界面展示...

    限时团购源程序(最土)

    在本资源中,我们看到的是一个名为“最土”的团购程序的源代码。"最土网www.zuitu.com"可能是一个实际运营的团购网站,而这个源代码可能是该网站后端系统的一部分,用于处理团购业务逻辑和用户交互。 【PHP源代码...

    最土团购模板导航

    根据给定的信息,“最土团购开发模板导航”主要围绕一种基于模板的开发系统展开,用于构建和管理团购网站。此项目包含多个不同功能模块的HTML页面模板,旨在为用户提供一个可自定义、易于操作的平台来进行二次开发。...

    zuitu+discuz7.2的完美整合+通行证.zip

    1.zuitu团购网站与discuz7.2程序的整合版 2.完美整合了ucenter,同步登录、退出修正了官方的通行证BUG等。 3.安装方法简便,直接使用帝国安装数据库即可! 说明: 该整合版没有修改zuitu(CV2.0_20110930)与discuz!...

    最土团购升级程序 ZuituGo_Patch_CV2.0_1792_1816

    "最土团购升级程序 ZuituGo_Patch_CV2.0_1792_1816" 是一个针对“最土团购商业版”软件的更新包,旨在将系统从版本1792升级至版本1816。在IT领域,这种升级过程通常涉及到一系列关键的技术环节,下面我们将详细探讨...

    1、ZuituGo_CV2.0_1826商业完整版_80元.zip

    "最土(Zuitu)"可能是该团购系统的品牌或名称,暗示其定位可能偏向于本地化或接地气。"团购"和"团购网站"标签表明这是一款用于创建团购活动的在线平台。"源码"意味着用户购买的是程序的原始代码,可以自由修改和...

    灯鹭社会化多帐号登录插件 for 最土团购源代码

    4. "zuitu2.0灯鹭插件" 和 "zuitu1.6灯鹭插件":这两个文件是针对最土团购v2.0和v1.6版本的插件源代码,开发者可以在此基础上进行定制和优化。 在实际操作中,安装和配置灯鹭插件需要一定的PHP编程基础,特别是对...

    最土分站插件

    最土分站插件是一款专为多城市管理设计的软件扩展工具,它的核心功能是实现根据不同城市设置权限,使得各个城市的管理员只能查看和操作与自己所在城市相关的数据。这款插件在IT行业中属于网站或应用的个性化定制和...

Global site tag (gtag.js) - Google Analytics