| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 | <?php defined('IN_PHPCMS') or exit('No permission resources.');pc_base::load_app_func('global');pc_base::load_sys_class('format', '', 0);class index {	function __construct() {				$this->db = pc_base::load_model('content_model');		$this->siteid = isset($_GET['siteid']) && (intval($_GET['siteid']) > 0) ? intval(trim($_GET['siteid'])) : (param::get_cookie('siteid') ? param::get_cookie('siteid') : 1);		param::set_cookie('siteid',$this->siteid);			$this->wap_site = getcache('wap_site','wap');		$this->types = getcache('wap_type','wap');		$this->wap = $this->wap_site[$this->siteid];		define('WAP_SITEURL', $this->wap['domain'] ? $this->wap['domain'].'index.php?' : APP_PATH.'index.php?m=wap&siteid='.$this->siteid);		if($this->wap['status']!=1) exit(L('wap_close_status'));	}		//展示首页	public function init() {		$WAP = $this->wap;		$TYPE = $this->types;		$WAP_SETTING = string2array($WAP['setting']);		$GLOBALS['siteid'] = $siteid = max($this->siteid,1);		$template = $WAP_SETTING['index_template'] ? $WAP_SETTING['index_template'] : 'index';		include template('wap', $template);	}	    //展示列表页	public function lists() {	    $parentids = array();		$WAP = $this->wap;		$TYPE = $this->types;		$WAP_SETTING = string2array($WAP['setting']);		$GLOBALS['siteid'] = $siteid = max($this->siteid,1);		$typeid = intval($_GET['typeid']);				if(!$typeid) exit(L('parameter_error'));							$catid = $this->types[$typeid]['cat'];			$siteids = getcache('category_content','commons');		$siteid = $siteids[$catid];		$CATEGORYS = getcache('category_content_'.$siteid,'commons');		if(!isset($CATEGORYS[$catid])) exit(L('parameter_error'));		$CAT = $CATEGORYS[$catid];		$siteid = $GLOBALS['siteid'] = $CAT['siteid'];		extract($CAT);			foreach($TYPE as $_t) $parentids[] = $_t['parentid'];				$template = ($TYPE[$typeid]['parentid']==0 && in_array($typeid,array_unique($parentids))) ? $WAP_SETTING['category_template'] : $WAP_SETTING['list_template'];			$MODEL = getcache('model','commons');		$modelid = $CAT['modelid'];		$tablename = $this->db->table_name = $this->db->db_tablepre.$MODEL[$modelid]['tablename'];		$total = $this->db->count(array('status'=>'99','catid'=>$catid));		$page = isset($_GET['page']) && intval($_GET['page']) ? intval($_GET['page']) : 1;		$pagesize = $WAP_SETTING['listnum'] ? intval($WAP_SETTING['listnum']) : 20 ;		$offset = ($page - 1) * $pagesize;		$list = $this->db->select(array('status'=>'99','catid'=>$catid), '*', $offset.','.$pagesize,'inputtime DESC');				//构造wap url规则		define('URLRULE', 'index.php?m=wap&c=index&a=lists&typeid={$typeid}~index.php?m=wap&c=index&a=lists&typeid={$typeid}&page={$page}');		$GLOBALS['URL_ARRAY'] = array('typeid'=>$typeid);				$pages = wpa_pages($total, $page, $pagesize);		include template('wap', $template);	}		    //展示内容页	public function show() {		$WAP = $this->wap;		$WAP_SETTING = string2array($WAP['setting']);		$TYPE = $this->types;		$GLOBALS['siteid'] = $siteid = max($this->siteid,1);		$typeid = $type_tmp = intval($_GET['typeid']);			$catid = $_GET['catid'];		$id = intval($_GET['id']);		if(!$catid || !$id) exit(L('parameter_error'));		$siteids = getcache('category_content','commons');		$siteid = $siteids[$catid];		$CATEGORYS = getcache('category_content_'.$siteid,'commons');		$page = intval($_GET['page']);		$page = max($page,1);		if(!isset($CATEGORYS[$catid]) || $CATEGORYS[$catid]['type']!=0) exit(L('information_does_not_exist','','content'));		$this->category = $CAT = $CATEGORYS[$catid];		$this->category_setting = $CAT['setting'] = string2array($this->category['setting']);		$siteid = $GLOBALS['siteid'] = $CAT['siteid'];				$MODEL = getcache('model','commons');		$modelid = $CAT['modelid'];				$tablename = $this->db->table_name = $this->db->db_tablepre.$MODEL[$modelid]['tablename'];		$r = $this->db->get_one(array('id'=>$id));		if(!$r || $r['status'] != 99) showmessage(L('info_does_not_exists'),'blank');				$this->db->table_name = $tablename.'_data';		$r2 = $this->db->get_one(array('id'=>$id));		$rs = $r2 ? array_merge($r,$r2) : $r;		//再次重新赋值,以数据库为准		$catid = $CATEGORYS[$r['catid']]['catid'];		$modelid = $CATEGORYS[$catid]['modelid'];				require_once CACHE_MODEL_PATH.'content_output.class.php';		$content_output = new content_output($modelid,$catid,$CATEGORYS);		$data = $content_output->get($rs);		extract($data);					$typeid = $type_tmp;	    if(strpos($content, '[/page]')!==false) {			$content = preg_replace("|\[page\](.*)\[/page\]|U", '', $content);		} elseif (strpos($content, '[page]')!==false) {			$content = str_replace('[page]', '', $content);		}		//根据设置字节数对文章加入分页标记		if($maxcharperpage < 10) $maxcharperpage = $WAP_SETTING['c_num'];		$contentpage = pc_base::load_app_class('contentpage','content');		$content = $contentpage->get_data($content,$maxcharperpage);		$isshow = 1;		if($pictureurls) {			$pictureurl = pic_pages($pictureurls);			$isshow = 0;						//进行图片分页处理					$PIC_POS = strpos($pictureurl, '[page]');			if($PIC_POS !== false) {				$this->url = pc_base::load_app_class('wap_url', 'wap');				$pictureurls = array_filter(explode('[page]', $pictureurl));				$pagenumber = count($pictureurls);				if (strpos($pictureurl, '[/page]')!==false && ($CONTENT_POS<7)) {					$pagenumber--;				}				for($i=1; $i<=$pagenumber; $i++) {					$pageurls[$i] = $this->url->show($id, $i, $catid, $typeid);				}				$END_POS = strpos($pictureurl, '[/page]');				if($END_POS !== false) {					if(preg_match_all("|\[page\](.*)\[/page\]|U", $pictureurl, $m, PREG_PATTERN_ORDER)) {						foreach($m[1] as $k=>$v) {							$p = $k+1;							$titles[$p]['title'] = strip_tags($v);							$titles[$p]['url'] = $pageurls[$p][0];						}					}				}								//当不存在 [/page]时,则使用下面分页				$pages = content_pages($pagenumber,$page, $pageurls, 0);				//判断[page]出现的位置是否在第一位 				if($CONTENT_POS<7) {					$pictureurl = $pictureurls[$page];				} else {					if ($page==1 && !empty($titles)) {						$pictureurl = $title.'[/page]'.$pictureurls[$page-1];					} else {						$pictureurl = $pictureurls[$page-1];					}				}					}					}				//进行自动分页处理				$CONTENT_POS = strpos($content, '[page]');		if($CONTENT_POS !== false) {			$this->url = pc_base::load_app_class('wap_url', 'wap');			$contents = array_filter(explode('[page]', $content));			$pagenumber = count($contents);			if (strpos($content, '[/page]')!==false && ($CONTENT_POS<7)) {				$pagenumber--;			}			for($i=1; $i<=$pagenumber; $i++) {				$pageurls[$i] = $this->url->show($id, $i, $catid, $typeid);			}			$END_POS = strpos($content, '[/page]');			if($END_POS !== false) {				if(preg_match_all("|\[page\](.*)\[/page\]|U", $content, $m, PREG_PATTERN_ORDER)) {					foreach($m[1] as $k=>$v) {						$p = $k+1;						$titles[$p]['title'] = strip_tags($v);						$titles[$p]['url'] = $pageurls[$p][0];					}				}			}						//当不存在 [/page]时,则使用下面分页			$pages = content_pages($pagenumber,$page, $pageurls);			//判断[page]出现的位置是否在第一位 			if($CONTENT_POS<7) {				$content = $contents[$page];			} else {				if ($page==1 && !empty($titles)) {					$content = $title.'[/page]'.$contents[$page-1];				} else {					$content = $contents[$page-1];				}			}			if($_GET['remains']=='true') {		        $content = $pages ='';		        for($i=$page;$i<=$pagenumber;$i++) {		            $content .=$contents[$i-1];		        }	    	}					}						$content = content_strip(wml_strip($content));			$template = $WAP_SETTING['show_template'] ? $WAP_SETTING['show_template'] : 'show';		include template('wap', $template);	}		//提交评论	function comment() {		$WAP = $this->wap;		$TYPE = $this->types;				if($_POST['dosumbit']) {			$comment = pc_base::load_app_class('comment','comment');			pc_base::load_app_func('global','comment');			$username = $this->wap['sitename'].L('phpcms_friends');			$userid = param::get_cookie('_userid');					$catid = intval($_POST['catid']);					$typeid = intval($_POST['typeid']);					$contentid = intval($_POST['id']);					$msg = trim($_POST['msg']);			$commentid = remove_xss(safe_replace(trim($_POST['commentid'])));			$title = $_POST['title'];			$url = $_POST['url'];							//通过API接口调用数据的标题、URL地址			if (!$data = get_comment_api($commentid)) {				exit(L('parameter_error'));			} else {				$title = $data['title'];				$url = $data['url'];				unset($data);			} 					$data = array('userid'=>$userid, 'username'=>$username, 'content'=>$msg);			$comment->add($commentid, $this->siteid, $data, $id, $title, $url);			echo '<script type="text/javaScript" src="'.JS_PATH.'jquery.min.js"></script><script language="JavaScript" src="'.JS_PATH.'admin_common.js"></script>';			echo L('wap_guestbook').'<br/><a href="'.show_url($catid,$contentid,$typeid).'">'.L('wap_goback').'</a><script language=javascript>setTimeout("redirect(\''.HTTP_REFERER.'\');",3000);</script>';		}	}		//评论列表页	function comment_list() {		$WAP = $this->wap;		$TYPE = $this->types;				$comment = pc_base::load_app_class('comment','comment');		pc_base::load_app_func('global','comment');			$typeid  = intval($_GET['typeid']);			$GLOBALS['siteid'] = max($this->siteid,1);		$commentid = isset($_GET['commentid']) && trim(addslashes(urldecode($_GET['commentid']))) ? trim(addslashes(urldecode($_GET['commentid']))) : exit(L('illegal_parameters'));		if(!preg_match("/^[a-z0-9_\-]+$/i",$commentid)) exit(L('illegal_parameters'));		list($modules, $contentid, $siteid) = decode_commentid($commentid);			list($module, $catid) = explode('_', $modules);		$comment_setting_db = pc_base::load_model('comment_setting_model');		$setting = $comment_setting_db->get_one(array('siteid'=>$this->siteid));					//通过API接口调用数据的标题、URL地址		if (!$data = get_comment_api($commentid)) {			exit(L('illegal_parameters'));		} else {			$title = $data['title'];			$url = $data['url'];			unset($data);		}							include template('wap', 'comment_list');	}		//导航页	function maps() {		$WAP = $this->wap;		$TYPE = $this->types;		$WAP_SETTING = string2array($WAP['setting']);			$GLOBALS['siteid'] = max($this->siteid,1);			include template('wap', 'maps');	}		//展示大图	function big_image() {		$WAP = $this->wap;		$TYPE = $this->types;		$WAP_SETTING = string2array($WAP['setting']);		$GLOBALS['siteid'] = max($this->siteid,1);				$url=base64_decode(trim($_GET['url']));		$url = str_replace(array('"',"'",'(',')',' '),'',$url);		if(!preg_match('/(jpg|png|gif|bmp)$/i',fileext($url))) exit('img src error');		$width = $_GET['w'] ?  trim(intval($_GET['w'])) : 320 ;		$new_url = thumb($url,$width,0);		include template('wap', 'big_image');	}}?>
 |