Server : nginx/1.22.1
System : Linux iZwz9daxib3w3i063fw434Z 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64
User : www ( 1000)
PHP Version : 5.6.40
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Directory :  /www/wwwroot/www.jkmold.com/phpcms/modules/wap/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : /www/wwwroot/www.jkmold.com/phpcms/modules/wap/index.php
<?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');

	}

}

?>