/** * @Description : 获取发布库内容列表 * @Author : dong(dong@hoge.cn) * @Category : publishcontent * @Date : 2014-2-14 * @LastUpdateDate : 2014-2-14 * @Copyright : hogesoft * @Param : site_id(站点id);column_id(栏目id,多个逗号隔开);client_type(终端id) * @Return : json */ public function get_content() { if ($this->input['is_count']) { $this->get_content_count(); } //content_id是内容关联表id $need_video = urldecode($this->input['need_video']); $need_subtitle = urldecode($this->input['need_subtitle']); $weight_cssid = intval($this->input['weight_cssid']); $need_catalog = intval($this->input['need_catalog']); if ($content_id = intval($this->input['content_id'])) { $content_data = $this->obj->get_all_content_by_relationid($content_id); if ($content_data) { $column_data = $this->column->get_site_column_first(' id,name,site_id,fid,childdomain,father_domain,column_dir,relate_dir,col_con_maketype ', $content_data['column_id']); $site_data = $column_data['site_data']; unset($column_data['site_data']); $content_data['column_info'] = $column_data; if ($content_data['use_maincolumn']) { $column_data = $this->column->get_site_column_first(' id,name,site_id,fid,childdomain,father_domain,column_dir,relate_dir,col_con_maketype ', $content_data['main_column_id']); $site_data = $column_data['site_data']; $content_data['content_url'] = $content_data['outlink'] ? $content_data['outlink'] : mk_content_url($site_data, $column_data, array('column_id' => $content_data['main_column_id']) + $content_data); unset($column_data['site_data']); $content_data['main_column_info'] = $column_data; } else { $content_data['content_url'] = $content_data['outlink'] ? $content_data['outlink'] : mk_content_url($site_data, $column_data, $content_data); } if ($this->settings['App_catalog']) { //取编目信息 $catalog_data = array(); include ROOT_PATH . 'lib/class/catalog.class.php'; $catalogobj = new catalog(); $catalog = $catalogobj->get_catalog($content_data['bundle_id'], $content_data['module_id'], $content_data['content_fromid']); $content_data['catalog_new'] = $catalog; } } $this->addItem($content_data); $this->output(); } $offset = $this->input['offset'] ? intval(urldecode($this->input['offset'])) : 0; if (!$this->input['from_mkpublish']) { //$offset = $offset > 1000 ? 0 : $offset; } $count = $this->input['count'] ? intval(urldecode($this->input['count'])) : 15; if ($this->input['id'] || $this->input['cid']) { $count = 0; } $result = $this->get_content_condition(); $content_sql = $this->obj->get_content_sql($result['condition'], $offset, $count, $result['other_field'], $need_video, '', $need_subtitle, $this->is_useindex, $this->index_field, $need_catalog); if ($this->input['need_count']) { $totalcount = $this->return_content_count(); } //memcache处理 $memcache_result = $this->op_memcache($content_sql, $need_video, $need_subtitle, $offset, $count, 'get'); if (!$memcache_result) { $content_data = $this->obj->get_content($result['condition'], $offset, $count, $result['other_field'], $need_video, '', $need_subtitle, $this->is_useindex, $this->index_field, $need_catalog); $this->op_memcache($content_sql, $need_video, $need_subtitle, $offset, $count, 'set', $content_data); } else { $content_data = $memcache_result; } if ($content_data['column_ids_arr']) { $column_datas = $this->column->get_column_site_by_ids(' id,name,fid,childdomain,father_domain,column_dir,relate_dir,col_con_maketype,cssid,is_outlink,linkurl ', implode(',', $content_data['column_ids_arr'])); } if ($content_data['catalogs_arr'] && $this->settings['App_catalog']) { //取编目信息 $catalog_data = array(); include ROOT_PATH . 'lib/class/catalog.class.php'; $catalogobj = new catalog(); $catalog_result = $catalogobj->getAllcontent($content_data['catalogs_arr']); if ($catalog_result && is_array($catalog_result)) { foreach ($catalog_result as $k => $v) { foreach ($content_data as $ko => $vo) { if ($k == $vo['content_id']) { $content_data[$ko]['catalog_new'] = $v; } } } } } unset($content_data['column_ids_arr']); unset($content_data['site_ids_arr']); unset($content_data['catalogs_arr']); foreach ($content_data as $k => $v) { //在这个里面配置内容url $content_data[$k]['column_info'] = empty($column_datas[$v['column_id']]) ? array() : $column_datas[$v['column_id']]; $v['column_id'] = $v['use_maincolumn'] ? $v['main_column_id'] : $v['column_id']; $content_data[$k]['content_url'] = $v['outlink'] ? $v['outlink'] : (empty($column_datas[$v['column_id']]) ? '' : mk_content_url($column_datas[$v['column_id']], $column_datas[$v['column_id']], $v)); if (!empty($content_data[$k]['column_info']['cssid'])) { $content_data[$k]['cssid'] = $content_data[$k]['column_info']['cssid']; } if ($weight_cssid !== 0) { if ($weight_cssid > 0) { $content_data[$k]['cssid'] = $weight_cssid; } else { if ($v['weight']) { $content_data[$k]['cssid'] = $v['weight']; } } } if (!$this->input['need_count']) { $this->addItem($content_data[$k]); } if ($v['bundle_id'] == 'special' && $this->input['id_to_fromid']) { $content_data[$k]['id'] = $v['content_fromid']; } $content_data[$k] = $content_data[$k] + (is_array($catalog_result[$v['cid']]) ? $catalog_result[$v['cid']] : array()); } if ($this->input['need_count']) { $this->addItem_withkey('total', $totalcount['total']); $this->addItem_withkey('data', $content_data); } else { //$this->addItem_withkey('',$content_data ); } $this->output(); }