| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 | <?php defined('IN_PHPCMS') or exit('No permission resources.');class index {	function __construct() {		$this->db = pc_base::load_model('poster_model');		$this->s_db = pc_base::load_model('poster_stat_model');	}		public function init() {			}		/**	 * 统计广告点击次数	 * 	 */	public function poster_click() {		$id = isset($_GET['id']) ? intval($_GET['id']) : 0;		$r = $this->db->get_one(array('id'=>$id));		if (!is_array($r) && empty($r)) return false;		$ip_area = pc_base::load_sys_class('ip_area');		$ip = ip();		$area = $ip_area->get($ip);		$username = param::get_cookie('username') ? param::get_cookie('username') : '';		if($id) {			$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : get_siteid();			$this->s_db->insert(array('siteid'=>$siteid, 'pid'=>$id, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>safe_replace(HTTP_REFERER), 'clicktime'=>SYS_TIME, 'type'=> 1));		}		$this->db->update(array('clicks'=>'+=1'), array('id'=>$id));		$setting = string2array($r['setting']);		if (count($setting)==1) {			$url = $setting['1']['linkurl'];		} else {			$url = isset($_GET['url']) ? $_GET['url'] : $setting['1']['linkurl'];		}		header('Location: '.$url);	}		/**	 * php方式展示广告	 */	public function show_poster() {		if(!$_GET['id']) exit();		$id = intval($_GET['id']);		$sdb = pc_base::load_model('poster_space_model');		$now = SYS_TIME;		$siteid = get_siteid();		$r = $sdb->get_one(array('siteid'=>$siteid, 'spaceid'=>$id));		if(!$r) exit();		if($r['setting']) $r['setting'] = string2array($r['setting']);		$poster_template = getcache('poster_template_'.$siteid, 'commons');		if ($poster_template[$r['type']]['option']) {			$where = "`spaceid`='".$id."' AND `disabled`=0 AND `startdate`<='".$now."' AND (`enddate`>='".$now."' OR `enddate`=0) ";			$pinfo = $this->db->select($where, '*', '', '`listorder` ASC, `id` DESC');			if (is_array($pinfo) && !empty($pinfo)) {				foreach ($pinfo as $k => $rs) {					if ($rs['setting']) {						$rs['setting'] = string2array($rs['setting']);						$pinfo[$k] = $rs;					} else {						unset($pinfo[$k]);					}				}				extract($r);			} else {				return true;			}		} else {			$where = " `spaceid`='".$id."' AND `disabled`=0 AND `startdate`<='".$now."' AND (`enddate`>='".$now."' OR `enddate`=0)";			$pinfo = $this->db->get_one($where, '*', '`listorder` ASC, `id` DESC');			if (is_array($pinfo) && $pinfo['setting']) {				$pinfo['setting'] = string2array($pinfo['setting']);			}			extract($r);			if (!is_array($pinfo) || empty($pinfo)) return true;			extract($pinfo, EXTR_PREFIX_SAME , 'p');		}		include template('poster', $type);	}		/**	 * js传值,统计展示次数	 */	public function show() {		$siteid = $_GET['siteid'] ? intval($_GET['siteid']) : get_siteid();		$spaceid = $_GET['spaceid'] ? intval($_GET['spaceid']) : 0;		$id = $_GET['id'] ? intval($_GET['id']) : 0;		if (!$spaceid || !$id) {			exit(0);		} else {			$this->show_stat($siteid, $spaceid, $id);		}	}		/**	 * 统计广告展示次数	 * @param intval $siteid 站点ID	 * @param intval $spaceid 广告版位ID	 * @param intval $id 广告ID	 * @return boolen 	 */	protected function show_stat($siteid = 0, $spaceid = 0, $id = 0) {		$M = new_html_special_chars(getcache('poster', 'commons'));		if(isset($M[$siteid]['enablehits']) && $M[$siteid]['enablehits']==0) return true; 		//$siteid = intval($siteid);		$spaceid = intval($spaceid);		$id = intval($id);		if(!$id) return false;		if(!$siteid || !$spaceid) {			$r = $this->db->get_one(array('id'=>$id), 'siteid, spaceid');			$siteid = $r['id'];			$spaceid = $r['spaceid'];		}		$ip = ip();		$ip_area = pc_base::load_sys_class('ip_area');		$area = $ip_area->get($ip);		$username = param::get_cookie('username') ? param::get_cookie('username') : '';		$this->db->update(array('hits'=>'+=1'), array('id'=>$id));		$this->s_db->insert(array('pid'=>$id, 'siteid'=>$siteid, 'spaceid'=>$spaceid, 'username'=>$username, 'area'=>$area, 'ip'=>$ip, 'referer'=>safe_replace(HTTP_REFERER), 'clicktime'=>SYS_TIME, 'type'=>0));		return true;	}}?>
 |