album.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. defined('IN_PHPCMS') or exit('No permission resources.');
  3. pc_base::load_app_class('admin','admin',0);
  4. pc_base::load_sys_class('form', '', 0);
  5. pc_base::load_sys_class('format', '', 0);
  6. pc_base::load_app_func('global', 'video');
  7. /**
  8. *
  9. * ----------------------------
  10. * album class
  11. * ----------------------------
  12. *
  13. * An open source application development framework for PHP 5.0 or newer
  14. *
  15. * This class 主要负责通过vms将酷6的专辑列表呈现给用户。用户可以选择专辑导入到cms专题,并将专辑里面的内容一并导入过来
  16. * @package PHPCMS V9.1.16
  17. * @author chenxuewang
  18. * @copyright CopyRight (c) 2006-2012 上海盛大网络发展有限公司
  19. *
  20. */
  21. class album extends admin {
  22. private $db;
  23. /**
  24. * Function __construct
  25. * 初始化数据模型
  26. */
  27. public function __construct() {
  28. parent::__construct();
  29. $this->special_api = pc_base::load_app_class('special_api', 'special');
  30. $this->db = pc_base::load_model('special_model');
  31. pc_base::load_app_func('global', 'video');
  32. //读取视频库的配置信息
  33. $this->setting = getcache('video', 'video');
  34. if (!module_exists('video')) {
  35. showmessage(L('please_setting_video_info'), 'index.php?m=admin&c=module&a=init');
  36. }
  37. if (!$this->setting) showmessage(L('please_not_setting_info'), 'index.php?m=video&c=video&a=setting');
  38. pc_base::load_app_class('ku6api', 'video', 0);
  39. $this->ku6api = new ku6api($this->setting['sn'], $this->setting['skey']);
  40. }
  41. /**
  42. * Function import
  43. * 专辑列表
  44. */
  45. public function import() {
  46. $id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? intval($_GET['id']) : 0);
  47. if ($id) {
  48. $postdata = array();
  49. if (is_array($id)) {
  50. foreach ($id as $albumid) {
  51. $info = $this->ku6api->get_album_info($albumid);
  52. $specialid = $this->special_api->importfalbum($info);
  53. if ($specialid) {
  54. $postdata[] = array('specialid'=>$specialid, 'id'=>$albumid);
  55. }
  56. }
  57. } else {
  58. $info = $this->ku6api->get_album_info($id);
  59. $specialid = $this->special_api->importfalbum($info);
  60. if ($specialid) {
  61. $postdata[] = array('specialid'=>$specialid, 'id'=>$id);
  62. }
  63. }
  64. $result = $this->ku6api->add_album_subscribe($postdata);
  65. if ($result) showmessage(L('album_add_success'), 'index.php?m=special&c=special');
  66. else showmessage(L('operation_failure'));
  67. } else {
  68. $page = max(intval($_GET['page']), 1);
  69. $pagesize = 6;
  70. //列出已载入的专辑
  71. $res = $this->db->select("`aid`!=0",'`aid`');
  72. $imported = array();
  73. if (is_array($res) && !empty($res)) {
  74. foreach ($res as $r) {
  75. $imported[] = $r['aid'];
  76. }
  77. }
  78. $ku6channels = $this->ku6api->get_ku6_channels();
  79. $albums = $this->ku6api->get_albums($page, $pagesize);
  80. $number = $albums['count'];
  81. $infos = $albums['data'];
  82. $pages = pages($number, $page, $pagesize);
  83. include $this->admin_tpl('album_list');
  84. }
  85. }
  86. /**
  87. * Function content_list
  88. * 某专辑下的视频列表
  89. */
  90. public function content_list() {
  91. $id = intval($_GET['id']);
  92. if (!$id) showmessage(L('illegal_parameters'));
  93. $page = max(intval($_GET['page']), 1);
  94. $pagesize = 15;
  95. $video_list = $this->ku6api->get_album_videoes($id, $page, $pagesize);
  96. $number = $video_list['count'];
  97. $infos = $video_list['list'];
  98. $pages = pages($number, $page, $pagesize);
  99. include $this->admin_tpl('album_video_list');
  100. }
  101. }