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/classes/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : /www/wwwroot/www.jkmold.com/phpcms/modules/wap/classes/wap_tag.class.php
<?php

class wap_tag {

	//数据库连接

	private $db;

	

	public function __construct() {

		$this->db = pc_base::load_model('content_model');

		$this->position = pc_base::load_model('position_data_model');

	}

	/**

	 * 初始化模型

	 * @param $catid 栏目id

	 */

	public function set_modelid($catid) {

		$siteids = getcache('category_content','commons');

		$siteid = $siteids[$catid];

		$this->category = getcache('category_content_'.$siteid,'commons');

		$this->modelid = $this->category[$catid]['modelid'];

		$this->db->set_model($this->modelid);

		$this->tablename = $this->db->table_name;

	}

	

	/**

	 * 分页统计

	 * @param $data

	 */	

	public function count($data) {

		if($data['action'] == 'lists') {

			if(isset($data['where'])) {

				$sql = $data['where'];

			} else {

				$TYPES = getcache('wap_type','wap');

				$TYPE = $TYPES[$data['typeid']];

				$catid = intval($TYPE['cat']);

				$this->set_modelid($catid);

				if(!$this->category[$catid]) return false;

				if($this->category[$catid]['child']) {

					$catids_str = $this->category[$catid]['arrchildid'];

					$pos = strpos($catids_str,',')+1;

					$catids_str = substr($catids_str, $pos);

					$sql = "status=99 AND catid IN ($catids_str)";

				} else {

					$sql = "status=99 AND catid='$catid'";

				}

			}

			return $this->db->count($sql);

		}

	}

	/**

	 * 分类标签

	 * @param $data

	 */

	public function type($data) {

		$siteid = $data['siteid'] = intval(trim($data['siteid']))!== 0 ? intval(trim($data['siteid'])) : 1;

		$TYPES = getcache('wap_type','wap');		

		$i = 1;

		if(is_array($TYPES) && !empty($TYPES)) {

			foreach ($TYPES as $typeid=>$type) {

				if($i>$data['limit']) break;

				if($siteid && $type['siteid']!=$siteid) continue;			

				if($type['parentid']==$data['typeid']) {

					$array[$typeid] = $type;

					$i++;

				}

			}

		}

		return $array;

	}



	/**

	 * 列表页标签

	 * @param $data

	 */

	public function lists($data) {

		$data['siteid'] = intval(trim($data['siteid']))!== 0 ? intval(trim($data['siteid'])) : 1;

		$TYPES = getcache('wap_type','wap');

		$TYPE = $TYPES[$data['typeid']];

		if(isset($data['where'])) {

			$sql = $data['where'];

		} else {

			$child = subtype($data['typeid']);

			$catid = intval($TYPE['cat']);

			$this->set_modelid($catid);

			//var_dump($this->category);

			if(!$this->category[$catid]) return false;

			

			if(is_array($child) && count($child) >0 ) {

				foreach ($child as $_k) $catids_str .= ','.$_k['cat'];

				$pos = strpos($catids_str,',')+1;

				$catids_str = substr($catids_str, $pos);

				$sql = "status=99 AND catid IN ($catids_str)".$thumb;

			} else {

				$sql = "status=99 AND catid='$catid'".$thumb;

			}

		}

		$order = $data['order'];

		$return = $this->db->select($sql, '*', $data['limit'], $order, '', 'id');

						

		//调用副表的数据

		if (isset($data['moreinfo']) && intval($data['moreinfo']) == 1) {

			$ids = array();

			foreach ($return as $v) {

				if (isset($v['id']) && !empty($v['id'])) {

					$ids[] = $v['id'];

				} else {

					continue;

				}

			}

			if (!empty($ids)) {

				$this->db->table_name = $this->db->table_name.'_data';

				$ids = implode('\',\'', $ids);

				$r = $this->db->select("`id` IN ('$ids')", '*', '', '', '', 'id');

				if (!empty($r)) {

					foreach ($r as $k=>$v) {

						if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]);

					}

				}

			}

		}

		return $return;

	}

	

	/**

	 * 推荐位标签

	 * @param $data

	 */

	public function position($data) {

		$sql = '';

		$array = array();

		$posid = intval($data['posid']);

		$order = $data['order'];

		$thumb = (empty($data['thumb']) || intval($data['thumb']) == 0) ? 0 : 1;

		$siteid = $GLOBALS['siteid'] ? $GLOBALS['siteid'] : 1;

		$catid = (empty($data['catid']) || $data['catid'] == 0) ? '' : intval($data['catid']);

		//if(!$this->category[$catid]) return false;

		if($catid && $this->category[$catid]['child']) {

			$catids_str = $this->category[$catid]['arrchildid'];

			$pos = strpos($catids_str,',')+1;

			$catids_str = substr($catids_str, $pos);

			$sql = "`catid` IN ($catids_str) AND ";

		}  elseif($catid && !$this->category[$catid]['child']) {

				$sql = "`catid` = '$catid' AND ";

		}

		if($thumb) $sql .= "`thumb` = '1' AND ";

		$sql .= "`posid` = '$posid' AND `siteid` = '".$siteid."'";

		$pos_arr = $this->position->select($sql, '*', $data['limit'],$order);

		if(!empty($pos_arr)) {

			foreach ($pos_arr as $info) {

				$key = $info['catid'].'-'.$info['id'];

				$array[$key] = string2array($info['data']);

				$array[$key]['url'] = show_url($info['catid'],$info['id']);

			}

		}

		return $array;

	}

}