| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 | 
							- <?php
 
- namespace Push\Lib;
 
- use Dever;
 
- class Data
 
- {
 
-     public function get($key, $name, $total = 10, $page = false, $limit = false)
 
-     {
 
-         $info = Dever::db('push/info')->one(array('key' => $key));
 
-         if (!$info) {
 
-             $insert['key'] = $key;
 
-             $insert['name'] = $name;
 
-             $insert['num'] = $total;
 
-             $insert['col'] = '1,3';
 
-             $info['id'] = Dever::db('push/info')->insert($insert);
 
-             $info['num'] = $insert['num'];
 
-         }
 
-         $data = array();
 
-         if ($info) {
 
-             if (!$info['num']) {
 
-                 $info['num'] = 20;
 
-             }
 
-             if ($limit > 0) {
 
-                 $info['num'] = $limit;
 
-             }
 
-             $where = array();
 
-             $where['info_id'] = $info['id'];
 
-             
 
-             if (checkVersion()->video == 2) {
 
-                 $where['type_no'] = 2;
 
-             }
 
-             if ($page) {
 
-                 $where['page'] = array($info['num'], 'list');
 
-                 $data = Dever::db('push/data')->getAllPage($where);
 
-             } else {
 
-                 $where['limit'] = '0,' . $info['num'];
 
-                 $data = Dever::db('push/data')->getAll($where);
 
-             }
 
-             if ($data) {
 
-                 foreach ($data as $k => $v) {
 
-                     $data[$k] = $this->getOne($v);
 
-                 }
 
-             }
 
-         }
 
-         return $data;
 
-     }
 
-     private function getOne($info)
 
-     {
 
-         $info['id'] = 0;
 
-         if ($info['type'] < 10 || $info['type'] == 13) {
 
-             $table = Dever::config('base')->type_table[$info['type']];
 
-             $method = 'one';
 
-             if ($info['type'] == 1) {
 
-                 $id = $info['article_id'];
 
-             } elseif ($info['type'] == 2) {
 
-                 $id = $info['vod_id'];
 
-             } elseif ($info['type'] == 3) {
 
-                 $id = $info['live_id'];
 
-             } elseif ($info['type'] == 4) {
 
-                 $id = $info['journal_id'];
 
-                 $method = 'getOne';
 
-             } elseif ($info['type'] == 6) {
 
-                 $id = $info['feature_id'];
 
-             } elseif ($info['type'] == 7) {
 
-                 $id = $info['applet_id'];
 
-             } elseif ($info['type'] == 13) {
 
-                 $id = $info['journal_id'];
 
-             }
 
-             unset($info['article_id']);
 
-             unset($info['vod_id']);
 
-             unset($info['live_id']);
 
-             unset($info['journal_id']);
 
-             unset($info['feature_id']);
 
-             unset($info['applet_id']);
 
-             if ($id > 0) {
 
-                 $info['id'] = $id;
 
-                 $data = Dever::db($table)->$method($id);
 
-                 if (isset($data) && $data) {
 
-                     if (isset($data['name']) && $data['name'] && !$info['name']) {
 
-                         $info['name'] = $data['name'];
 
-                     }
 
-                     if (isset($data['pic_cover']) && $data['pic_cover'] && !$info['pic']) {
 
-                         $info['pic'] = $data['pic_cover'];
 
-                     }
 
-                     if (isset($data['pic_cover_169'])) {
 
-                         $info['pic_169'] = $data['pic_cover_169'];
 
-                     }
 
-                     if (isset($data['pic_view_cover']) && $data['pic_view_cover'] && !$info['pic']) {
 
-                         $info['pic'] = $data['pic_view_cover'];
 
-                     }
 
-                     if (isset($data['num_ding'])) {
 
-                         $info['num_ding'] = $data['num_ding'];
 
-                     }
 
-                     if (isset($data['buy'])) {
 
-                         $info['buy'] = $data['buy'];
 
-                     }
 
-                     if (isset($data['pdate']) && $data['pdate']) {
 
-                         $info['cdate'] = $data['pdate'];
 
-                     }
 
-                     if (isset($data['cate_id']) && $data['cate_id']) {
 
-                         $cate = Dever::db('content/cate')->one($data['cate_id']);
 
-                         $info['cate_name'] = $cate['name'];
 
-                     }
 
-                     if (isset($data['author_id']) && $data['author_id']) {
 
-                         $author = Dever::db('content/author')->one($data['author_id']);
 
-                         $info['author_name'] = $author['name'];
 
-                     }
 
-                     if (isset($data['appid']) && $data['appid']) {
 
-                         $info['appid'] = $data['appid'];
 
-                     }
 
-                     if (isset($data['link']) && $data['link']) {
 
-                         $info['link'] = $data['link'];
 
-                     }
 
-                 }
 
-             }
 
-         } else {
 
-             unset($info['article_id']);
 
-             unset($info['vod_id']);
 
-             unset($info['live_id']);
 
-             unset($info['journal_id']);
 
-             unset($info['feature_id']);
 
-             unset($info['applet_id']);
 
-         }
 
-         if ($info['link']) {
 
-             if (!strstr($info['link'], 'http')) {
 
-                 $info['link'] = 'http://' . $info['link'];
 
-             }
 
-         }
 
-         $info['cdate'] = date('Y-m-d', $info['cdate']);
 
-         if (isset($info['pic']) && $info['pic']) {
 
-             $info['pic'] = Dever::load('main/lib/core')->replacePic($info['pic']);
 
-         }
 
-         if (isset($info['name']) && $info['name']) {
 
-             $info['name'] = Dever::cut($info['name'], 20, '...');
 
-         }
 
-         return $info;
 
-     }
 
- }
 
 
  |