示例#1
0
文件: plug.php 项目: h3len/Project
 /**
  * 取栏目的路径
  */
 public function get_column_path()
 {
     $column_id = $this->input['column_id'];
     if (!$column_id) {
         $this->ReportError('ID为空');
     }
     if (!class_exists('column')) {
         include ROOT_DIR . 'lib/class/column.class.php';
     }
     $column = new column();
     $ret['selected_ids'] = $column_id ? $column_id : '';
     $ret['selected_items'] = $column->get_selected_column_path($ret['selected_ids']);
     if (is_array($ret['selected_items'])) {
         foreach ($ret['selected_items'] as $index => $item) {
             $hg_print_selected[$index] = array();
             $current =& $hg_print_selected[$index];
             $current['showName'] = '';
             foreach ($item as $sub_item) {
                 if ($sub_item['is_auth']) {
                     $current['is_auth'] = 1;
                 }
                 $current['id'] = $sub_item['id'];
                 $current['name'] = $sub_item['name'];
                 if ($sub_item['fid'] == 0) {
                     $current['showName'] .= $sub_item['name'] . ' > ';
                 } else {
                     $current['showName'] .= $sub_item['name'] . ' > ';
                 }
             }
             $current['showName'] = substr($current['showName'], 0, -3);
             $selected_names[] = $current['name'];
         }
     }
     $ret['selected_items'] = $hg_print_selected;
     $ret['selected_names'] = isset($selected_names) ? implode(',', $selected_names) : '';
     echo json_encode($ret);
     exit;
 }
示例#2
0
 public function show()
 {
     $column_id = $this->input['column_id'];
     $column = new column();
     $publish = array();
     $publish['sites'] = $column->getallsites();
     list($default_site, $default_name) = each($publish['sites']);
     reset($publish['sites']);
     $publish['items'] = $column->getAuthoredColumns($default_site);
     $publish['selected_ids'] = $column_id ? $column_id : '';
     $publish['selected_items'] = $column->get_selected_column_path($publish['selected_ids']);
     $publish['default_site'] = each($publish['sites']);
     $publish['pub_time'] = $this->input['pub_time'];
     $hg_print_selected = array();
     foreach ($publish['selected_items'] as $index => $item) {
         $hg_print_selected[$index] = array();
         $current =& $hg_print_selected[$index];
         $current['showName'] = '';
         foreach ($item as $sub_item) {
             if ($sub_item['is_auth']) {
                 $current['is_auth'] = 1;
             }
             $current['id'] = $sub_item['id'];
             $current['name'] = $sub_item['name'];
             $current['showName'] .= $sub_item['name'] . ' > ';
         }
         if (!$current['is_auth']) {
             $current['is_auth'] = 0;
         }
         $current['showName'] = $publish['default_site']['value'] . ' > ' . substr($current['showName'], 0, -3);
         $selected_names[] = $current['name'];
     }
     $publish['selected_items'] = $hg_print_selected;
     $publish['selected_names'] = isset($selected_names) ? implode(',', $selected_names) : '';
     echo json_encode($publish);
 }
示例#3
0
echo $node_iframe_attr['attr'];
?>
></iframe>
				</div>
			</td>
		</tr>
	</table>
</div>
<?php 
define('FORMDATA', 0);
if ((!isset($formdata) || !is_array($formdata)) && (defined('FORMDATA') && FORMDATA)) {
} else {
    $item = $formdata;
    if (!class_exists('column')) {
        include_once ROOT_DIR . 'lib/class/column.class.php';
    }
    $column = new column();
    $publish = array();
    $publish['sites'] = $column->getallsites();
    list($default_site, $default_name) = each($publish['sites']);
    reset($publish['sites']);
    $publish['items'] = $column->getAuthoredColumns($default_site);
    $publish['selected_ids'] = $item['column_id'] ? $item['column_id'] : '';
    $publish['selected_items'] = $column->get_selected_column_path($publish['selected_ids']);
    $publish['default_site'] = each($publish['sites']);
    $publish['pub_time'] = $item['pub_time'];
    $hg_print_selected = array();
    foreach ($publish['selected_items'] as $index => $item) {
        $hg_print_selected[$index] = array();
        $current =& $hg_print_selected[$index];
        $current['showName'] = '';
示例#4
0
 public function video_record()
 {
     $site = $this->input['site'];
     if (!$site || !is_array($site)) {
         $this->errorOutput('NO_SITE_IDS');
     }
     $video_record = $content_id = $content_data = array();
     foreach ($site as $k => $v) {
         $sql = "SELECT * FROM " . DB_PREFIX . "content_video_record WHERE site_id=" . $v['site_id'] . " ORDER BY id DESC LIMIT " . $v['video_record_count'];
         $info = $this->db->query($sql);
         while ($row = $this->db->fetch_array($info)) {
             $video_record[$row['site_id']][] = $row;
             $content_data_detail = $row['content_data'] ? unserialize($row['content_data']) : array();
             $content_data_detail['site_id'] = $row['site_id'];
             $content_data_detail['column_id'] = $row['column_id'];
             $content_data_detail['struct_id'] = $row['struct_id'];
             $content_data_detail['id'] = $row['relation_id'];
             $content_data_detail['op'] = $row['opration'];
             $content_data[$row['relation_id']] = $content_data_detail;
             $column_ids[$row['column_id']] = $row['column_id'];
             $site_ids[$row['site_id']] = $row['site_id'];
         }
     }
     if ($content_data) {
         include_once CUR_CONF_PATH . 'lib/column.class.php';
         $column_obj = new column();
         if ($column_ids) {
             $column_datas = $column_obj->get_column_by_id(' id,name,childdomain,column_dir,site_id,relate_dir,father_domain ', implode(',', $column_ids), 'id');
         }
         if ($site_ids) {
             $site_datas = $column_obj->get_site(' id,site_name,weburl,sub_weburl ', ' AND id in(' . implode(',', $site_ids) . ')', 'id');
         }
         foreach ($content_data as $k => $v) {
             $content_data[$k]['content_url'] = mk_content_url($site_datas[$v['site_id']], $column_datas[$v['column_id']], $v);
         }
     }
     $result['video_record'] = $video_record;
     $result['content_data'] = $content_data;
     $this->addItem($result);
     $this->output();
 }
示例#5
0
文件: content.php 项目: h3len/Project
 public function audit()
 {
     if (!$this->settings['is_need_audit']) {
         $this->errorOutput('NO_SUPPORT');
     }
     $status = intval($this->input['audit']);
     $rid = intval($this->input['rid']);
     if (!$rid) {
         $this->errorOutput('NO_RID');
     }
     include_once CUR_CONF_PATH . 'lib/column.class.php';
     $column_obj = new column();
     if ($status == 1) {
         //审核
         $data = $this->obj->get_all_content_by_relationid($rid, true);
         $crd_id = $rid;
         $check_result = $data['cid'];
         $sql = "select * from " . DB_PREFIX . "content_relation where content_id=" . $data['cid'] . " and status=1 and id!=" . $rid;
         $info = $this->db->query($sql);
         while ($row = $this->db->fetch_array($info)) {
             $other_relate[] = $row;
             $column_ids[] = $row['column_id'];
         }
         $column_ids[] = $data['column_id'];
         //整理内容栏目的信息,插入到xunsearch中;先查出现有的content_columns
         $column_detail_datas = $column_obj->get_column_by_id(' id,site_id,name,support_client,column_url,folderformat,fileformat ', implode(',', $column_ids), 'id');
         $firstcolumn = $column_detail_datas[$data['column_id']];
         if ($other_relate) {
             $content_columns = $this->obj->get_content_columns(' * ', array('content_id' => $data['cid']));
             $column_datas = @unserialize($content_columns['column_datas']);
             if (!$column_datas[$data['column_id']]) {
                 $column_datas[$firstcolumn['id']] = array('id' => $firstcolumn['id'], 'column_url' => $firstcolumn['column_url'], 'name' => $firstcolumn['name'], 'relation_id' => $data['id']);
                 $new_content_columns = array('column_ids' => $content_columns['column_ids'] . ',' . $data['column_id'], 'column_datas' => serialize($column_datas));
                 $this->obj->update_content_columns($data['cid'], $new_content_columns);
             }
         } else {
             $column_datas = array($data['column_id'] => array('id' => $data['column_id'], 'column_url' => $firstcolumn['column_url'], 'name' => $firstcolumn['name'], 'relation_id' => $data['id']));
             $content_columns = array('content_id' => $data['cid'], 'column_ids' => $data['column_id'], 'column_datas' => serialize($column_datas));
             $content_column_exist = $this->obj->get_content_columns(' * ', array('content_id' => $data['cid']));
             if (!$content_column_exist) {
                 $this->obj->insert('content_columns', $content_columns);
             }
         }
         if (!empty($data['video'])) {
             //更新百度视频收录
             $this->obj->update_video_record($data + array('rid' => $rid));
         }
         //插入到xunsearch中
         if ($other_relate) {
             $this->opration_xunsearch($data, $new_content_columns, 'update', $column_detail_datas);
         } else {
             //插入到xunsearch中
             $this->opration_xunsearch($data, $content_columns, 'add', $column_detail_datas);
         }
         //插入到content_publish_time表中
         if (!$data['use_maincolumn']) {
             $this->obj->insert('content_publish_time', array('content_id' => $crd_id, 'publish_time' => empty($data['publish_time']) ? TIMENOW : $data['publish_time']));
         }
         //判断有无推送,有则插入到content_push表中,到各自系统里取出对应推送的栏目
         if (!$other_relate) {
             include_once ROOT_PATH . 'lib/class/publishplan.class.php';
             $pub_plan = new publishplan();
             $search_data_con = array('from_id' => $data['content_fromid'], 'bundle_id' => $data['bundle_id'], 'module_id' => $data['module_id'], 'struct_id' => $data['struct_id']);
             $content_fromdata = $pub_plan->get_content_by_fromid($search_data_con);
             if (is_array($content_fromdata[0]) && $content_fromdata[0]) {
                 $data['special'] = $content_fromdata[0]['special'];
                 $data['block'] = $content_fromdata[0]['block'];
             }
             $this->obj->content_push($data, $check_result, $crd_id, true);
         }
         $this->obj->update('content_relation', ' id=' . $rid, array('status' => 1));
     } else {
         //打回
         $this->obj->update('content_relation', ' id=' . $rid, array('status' => 2));
         $data = $this->obj->get_all_content_by_relationid($rid, true);
         $column_id = $data['column_id'];
         $rids[] = $rid;
         $rids_str = @implode(',', $rids);
         $cid = $data['cid'];
         //删除百度视频收录
         $this->obj->update_video_record(array('rid' => $rids_str), 'del');
         //content_columns处理
         $content_column_detail = $this->obj->get_content_columns(' * ', array('content_id' => $cid));
         $content_column_data = @unserialize($content_column_detail['column_datas']);
         $content_column_ids_arr = explode(',', $content_column_detail['column_ids']);
         $column_idarr[] = $data['column_id'];
         foreach ($column_idarr as $col_id) {
             $flkey = array_search($col_id, $content_column_ids_arr);
             if ($flkey !== false) {
                 unset($content_column_ids_arr[array_search($col_id, $content_column_ids_arr)]);
                 unset($content_column_data[$column_id]);
             }
         }
         $new_content_columns = array('column_ids' => empty($content_column_ids_arr) ? '' : implode(',', $content_column_ids_arr), 'column_datas' => empty($content_column_data) ? '' : serialize($content_column_data));
         if (!$new_content_columns['column_datas']) {
             $this->obj->delete_content_columns($cid);
         } else {
             $this->obj->update_content_columns($cid, $new_content_columns);
         }
         $del_columnarr = explode(',', $column_id);
         foreach ($rids as $v) {
             //插入到content_publish_time表中
             $this->obj->insert('content_publish_time', array('content_id' => $v, 'publish_time' => TIMENOW));
         }
         //查询映射表中还有没有关于此内容的关联,如果没有,则删除这个内容
         $lastconrel = $this->obj->get_content_relation($cid, ' AND status=1');
         if (!empty($lastconrel)) {
             //判断删除的栏目是不是主内容的主栏目id
             if (!in_array($content_detail['column_id'], $content_column_ids_arr)) {
                 $this->obj->update_content_by_id($cid, array('column_id' => intval($new_content_columns['column_ids'])));
                 if ($content_detail['use_maincolumn']) {
                     $sql = "select id,column_id,file_custom_filename,file_name from " . DB_PREFIX . "content_relation where content_id=" . $data['cid'];
                     $relate_info = $this->db->query($sql);
                     while ($relate_row = $this->db->fetch_array($relate_info)) {
                         if ($relate_row['id'] == intval($new_content_columns['column_ids'])) {
                             $main_column = $relate_row;
                         } else {
                             $update_relate_column[] = $main_column;
                         }
                     }
                     if ($update_relate_column) {
                         foreach ($update_relate_column as $k => $v) {
                             $this->obj->update('content_relation', ' id=' . $v['id'], array('file_name' => $main_column['file_name']));
                         }
                     }
                 }
             }
         } else {
             //删除推送的内容
             $this->obj->content_push(array('special' => array(), 'block' => array(), 'content_fromid' => $data['content_fromid'], 'bundle_id' => $data['bundle_id'], 'module_id' => $data['module_id']), $cid, '', true, true);
         }
         //更改xunsearch上的数据
         if (empty($new_content_columns['column_datas'])) {
             $this->opration_xunsearch($data, array('id' => $cid) + $data, 'del');
         } else {
             $this->update_xunsearch($data, array('id' => $cid) + $data, $new_content_columns);
         }
     }
     $r = array('status' => $status == 1 ? 1 : 2, 'id' => array($rid));
     $this->addItem($r);
     $this->output();
 }
示例#6
0
 public function get_all_content_by_relationid($id, $need_process = false)
 {
     include_once CUR_CONF_PATH . 'lib/column.class.php';
     $column = new column();
     $sql = "SELECT c.*,r.*,c.id as cid,c.column_id as main_column_id,r.site_id,r.column_id,r.column_name,r.id as id,r.order_id,r.weight,r.file_name,r.file_domain,r.file_dir,r.file_custom_filename,r.publish_time,r.status FROM " . DB_PREFIX . "content_relation r LEFT JOIN " . DB_PREFIX . "content c ON r.content_id=c.id WHERE r.id =" . $id;
     $info = $this->db->query_first($sql);
     if ($info['indexpic']) {
         $info['indexpic'] = unserialize($info['indexpic']);
     }
     if ($info['video']) {
         $info['video'] = unserialize($info['video']);
     }
     if ($info['childs_data']) {
         $info['childs_data'] = unserialize($info['childs_data']);
     }
     if ($info['catalog']) {
         $info['catalog'] = unserialize($info['catalog']);
     }
     if ($need_process) {
         if ($info) {
             $column_data = $column->get_site_column_first(' id,name,site_id,fid,childdomain,father_domain,column_dir,relate_dir,col_con_maketype ', $info['column_id']);
             $site_data = $column_data['site_data'];
             unset($column_data['site_data']);
             $info['column_info'] = $column_data;
             if ($info['use_maincolumn']) {
                 $column_data = $column->get_site_column_first(' id,name,site_id,fid,childdomain,father_domain,column_dir,relate_dir,col_con_maketype ', $info['main_column_id']);
                 $site_data = $column_data['site_data'];
                 $info['content_url'] = $info['outlink'] ? $info['outlink'] : mk_content_url($site_data, $column_data, array('column_id' => $info['main_column_id']) + $info);
                 unset($column_data['site_data']);
                 $info['main_column_info'] = $column_data;
             } else {
                 $info['content_url'] = $info['outlink'] ? $info['outlink'] : mk_content_url($site_data, $column_data, $info);
             }
         }
     }
     unset($info['keywords_unicode'], $info['title_unicode'], $info['title_pinyin']);
     return $info;
 }
示例#7
0
文件: ColumnTest.php 项目: cebe/chive
 /**
  * tests some Config Functions
  */
 public function testConfigFunctions()
 {
     // Create new schema
     $column = new column();
     // Check return types
     $this->assertTrue(is_array($column->attributeLabels()));
     $this->assertTrue(is_array($column->rules()));
     $this->assertTrue(is_array($column->relations()));
     $this->assertTrue(is_array($column->getDataTypes()));
 }
示例#8
0
文件: column.php 项目: h3len/Project
 public function update_column()
 {
     $id = intval($this->input['id']);
     if (!$id) {
         $this->errorOutput('NO_ID');
     }
     if (isset($this->input['name'])) {
         $data['name'] = $this->input['name'];
     }
     if (isset($this->input['shortname'])) {
         $data['shortname'] = $this->input['shortname'];
     }
     if (isset($this->input['linkurl'])) {
         $data['linkurl'] = $this->input['linkurl'];
     }
     if (isset($this->input['keywords'])) {
         $data['keywords'] = $this->input['keywords'];
     }
     if (isset($this->input['content'])) {
         $data['content'] = $this->input['content'];
     }
     include CUR_CONF_PATH . 'lib/column.class.php';
     $column_obj = new column();
     $column_obj->update_column($id, $data);
     $detail = $column_obj->get_column_first(' id,name,keywords,content,linkurl ', $id);
     $this->addItem($detail);
     $this->output();
 }