Data.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace Push\Lib;
  3. use Dever;
  4. class Data
  5. {
  6. public function get($key)
  7. {
  8. $info = Dever::db('push/info')->one(array('key' => $key));
  9. $data = array();
  10. if ($info) {
  11. $data = Dever::db('push/data')->getAll(array('info_id' => $info['id']));
  12. if ($data) {
  13. foreach ($data as $k => $v) {
  14. $data[$k] = $this->getOne($v);
  15. }
  16. }
  17. }
  18. return $data;
  19. }
  20. private function getOne($info)
  21. {
  22. $info['id'] = 0;
  23. if ($info['type'] < 10) {
  24. $table = Dever::config('base')->type_table[$info['type']];
  25. if ($info['type'] == 1) {
  26. $id = $info['article_id'];
  27. } elseif ($info['type'] == 2) {
  28. $id = $info['vod_id'];
  29. } elseif ($info['type'] == 3) {
  30. $id = $info['live_id'];
  31. } elseif ($info['type'] == 4) {
  32. $id = $info['journal_id'];
  33. }
  34. if ($id > 0) {
  35. $info['id'] = $id;
  36. $data = Dever::db($table)->one($id);
  37. if (isset($data) && $data) {
  38. if (isset($data['name']) && $data['name'] && !$info['name']) {
  39. $info['name'] = $data['name'];
  40. }
  41. if (isset($data['pic_cover']) && $data['pic_cover'] && !$info['pic']) {
  42. $info['pic'] = $data['pic_cover'];
  43. }
  44. if (isset($data['pic_view_cover']) && $data['pic_view_cover'] && !$info['pic']) {
  45. $info['pic'] = $data['pic_view_cover'];
  46. }
  47. if (isset($data['pdate']) && $data['pdate']) {
  48. $info['cdate'] = $data['pdate'];
  49. }
  50. }
  51. }
  52. }
  53. $info['cdate'] = date('Y-m-d', $info['cdate']);
  54. return $info;
  55. }
  56. }