| 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;
 
- 	}
 
- }
 
- ?>
 
 
  |