1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?php
- namespace Source\Lib;
- use Dever;
- class Core
- {
- private $key = 'source';
- /**
- * 记录用户信息
- *
- * @return mixed
- */
- public function saveUser($vid, $uid, $source_id, $account_type, $account_id)
- {
- $data['vid'] = $vid;
- $data['uid'] = $uid;
- $data['source_id'] = $source_id;
- $data['account_type'] = $account_type;
- $data['account_id'] = $account_id;
- $info = Dever::db('source/user')->one($data);
- if (!$info) {
- Dever::db('source/user')->insert($data);
- }
- return true;
- }
- /**
- * 日志记录
- *
- * @return mixed
- */
- public function save($uid, $type, $source_id, $log = array())
- {
- return;
- $log += Dever::input();
- $url = Dever::url();
- $log['uid'] = $uid;
- $log['source_id'] = $source_id;
- $log['url'] = $url;
- $log['ip'] = Dever::ip();
- Dever::log($log, $this->key . '/' . $source_id . '/' . $type);
- return true;
- }
- public function get($day, $type, $source_id, $start = 0, $end = 0)
- {
- $log = Dever::getLog($day, $this->key . '/' . $source_id . '/' . $type);
- $source = array();
- $source['pv'] = 0;
- $source['uv'] = 0;
- $source['user_num'] = 0;
- $source['user_yes_num'] = 0;
- if ($log) {
- $result = array();
- $pv = $uv = 0;
- $user = array();
- foreach ($log as $k => $v) {
- if ($v) {
- $temp = explode('dever&', $v);
- $info = explode(' ', $temp[0]);
- $result[$k]['time'] = $info[0];
- $result[$k]['project'] = $info[1];
- $result[$k]['app'] = $info[2];
- parse_str($temp[1], $result[$k]['param']);
- $pv++;
- if (isset($result[$k]['param']['uid']) && $result[$k]['param']['uid'] > 0) {
- $user[$result[$k]['param']['uid']] = 1;
- } else {
- $user[$result[$k]['param']['ip']] = 1;
- }
- }
- }
- $source['pv'] = $pv;
- $source['uv'] = count($user);
- if ($start && $end) {
- $where['source_id'] = $source_id;
- $where['start'] = $start;
- $where['end'] = $end;
- $source['user_num'] = Dever::db('source/user')->getTotal($where);
- $source['user_yes_num'] = $source['user_num'];
- }
- }
- return $source;
- }
- }
|