123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- function video($field, $value) {
- $video_content_db = pc_base::load_model('video_content_model');
- $video_store_db = pc_base::load_model('video_store_model');
- //先获取目前contentid下面的videoid
- $videos = $video_content_db->select(array('contentid'=>$this->id, 'modelid'=>$this->modelid), 'videoid', '', '`listorder` ASC', '', 'videoid');
- if (is_array($videos) && !empty($videos)) {
- $videoids = '';
- foreach ($videos as $_vid => $r) {
- $videoids .= $_vid.',';
- }
- $videoids = substr($videoids, 0, -1);
- $result = $video_store_db->select("`videoid` IN($videoids) AND `status`=21", '*', '', '', '', 'videoid');
- $pagenumber = count($result);
- $return_data = array();
- if ($pagenumber>0) {
- if (is_array($result) && !empty($result)) {
- //首先对$result按照$videos的videoid排序
- foreach ($videos as $_vid => $v) {
- if ($result[$_vid]) $new_result[] = $result[$_vid];
- }
- unset($result, $_vid, $v);
- }
- $this->url = pc_base::load_app_class('url', 'content');
- for($i=1; $i<=$pagenumber; $i++) {
- $pageurls[$i] = $this->url->show($this->id, $i, $this->data['catid'], $this->data['inputtime']);
- }
- //构建返回数组
- foreach ($pageurls as $page =>$urls) {
- $_k = $page - 1;
- if ($_k==0) $arr = reset($new_result);
- else $arr = next($new_result);
- $return_data['data'][$page]['title'] = $arr['title'] ? new_html_special_chars($arr['title']) : new_html_special_chars($this->data['title']);
- $return_data['data'][$page]['url'] = $urls[0];
- $return_data['vid'] = $arr['vid'];
- $return_data['channelid'] = $arr['channelid'];
- }
- $category_db = pc_base::load_model('category_model');
- $r = $category_db->get_one(array('catid'=>$this->data['catid']), 'modelid, setting, siteid');
- $setting = string2array($r['setting']);
- $siteid = intval($r['siteid']);
- if ($setting['content_ishtml']) {
- if (!function_exists('content_pages')) {
- pc_base::load_app_func('util', 'content');
- }
- $modelid = intval($r['modelid']);
-
- $data = $this->data;
- unset($data[$field]);
- $output_data = $this->get($data);
- extract($output_data);
- $id = $this->id;
- //SEO
- $seo_keywords = '';
- if(!empty($keywords)) $seo_keywords = implode(',',$keywords);
- $SEO = seo($siteid, $catid, $title, $description, $seo_keywords);
- $this->html_root = pc_base::load_config('system','html_root');
- $this->sitelist = getcache('sitelist','commons');
- $this->queue = pc_base::load_model('queue_model');
- $template = $this->data['template'] ? $this->data['template'] : $setting['show_template'];
- foreach ($pageurls as $page => $urls) {
- $_k = $page - 1;
- if ($_k==0) {
- $arr = $first = reset($new_result);
- } else {
- $arr = next($new_result);
- }
- $return_data['vid'] = $arr['vid'];
- ${$field} = $return_data;
- $pagefile = $urls[1];
- if($siteid!=1) {
- $site_dir = $this->sitelist[$siteid]['dirname'];
- $pagefile = $this->html_root.'/'.$site_dir.$pagefile;
- }
- $this->queue->add_queue('add',$pagefile,$siteid);
- $pagefile = PHPCMS_PATH.$pagefile;
- ob_start();
- include template('content', $template);
- $data = ob_get_contents();
- ob_clean();
- $dir = dirname($pagefile);
- if(!is_dir($dir)) {
- mkdir($dir, 0777,1);
- }
- $strlen = file_put_contents($pagefile, $data);
- @chmod($file,0777);
- }
- $return_data['vid'] = $first['vid'];
- unset($new_result);
- }
- return $return_data;
- } else {
- return array();
- }
- }
- }
|