one(array('key' => $key)); if (!$info) { $insert['key'] = $key; $insert['name'] = $name; $insert['num'] = $num; $insert['col'] = '1,3'; $info['id'] = Dever::db('push/info')->insert($insert); } $data = array(); if ($info) { $data = Dever::db('push/data')->getAll(array('info_id' => $info['id'])); 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) { $table = Dever::config('base')->type_table[$info['type']]; 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']; } if ($id > 0) { $info['id'] = $id; $data = Dever::db($table)->one($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_view_cover']) && $data['pic_view_cover'] && !$info['pic']) { $info['pic'] = $data['pic_view_cover']; } if (isset($data['pdate']) && $data['pdate']) { $info['cdate'] = $data['pdate']; } } } } $info['cdate'] = date('Y-m-d', $info['cdate']); return $info; } }