예제 #1
0
파일: common.php 프로젝트: h3len/Project
 /**
      * 'site_id' => intval($this->input['site_id']),
       'column_id' => intval($this->input['column_id']),
       'name' => urldecode($this->input['name']),
       'update_time' => intval($this->input['update_time']),
       'update_type' => intval($this->input['update_type']),
       'datasource_id' => intval($this->input['datasource_id']),
       'width' => intval($this->input['width']),
       'height' => intval($this->input['height']),
       'line_num' => intval($this->input['line_num']),
       'father_tag' => urldecode($this->input['father_tag']),
       'loop_body' => urldecode($this->input['loop_body']),
       'next_update_time' => TIMENOW+intval($this->input['update_time']),
       'is_support_push' => intval($this->input['is_support_push']),
      * */
 public function insert_block($data)
 {
     if ($data['block_id']) {
         include_once CUR_CONF_PATH . 'lib/block.class.php';
         $block = new block();
         return $block->check_block_relation($data['site_id'], $data['block_id'], $data['page_id'], $data['page_data_id'], $data['expand_name']);
     }
     include_once ROOT_PATH . 'lib/class/publishconfig.class.php';
     $pub_config = new publishconfig();
     include_once CUR_CONF_PATH . 'lib/block.class.php';
     $block = new block();
     include_once CUR_CONF_PATH . 'lib/block_set.class.php';
     $block_set = new block_set();
     include_once ROOT_PATH . 'lib/class/data_source.class.php';
     $data_source = new dataSource();
     $block_data = array('site_id' => $data['site_id'], 'sort_id' => $data['sort_id'], 'name' => $data['name'], 'site_id' => $data['site_id'], 'datasource_id' => $data['datasource_id'], 'width' => $data['width'], 'height' => $data['height'], 'line_num' => $data['line_num'], 'father_tag' => $data['father_tag'], 'loop_body' => $data['loop_body'], 'next_update_time' => $data['update_time'], 'is_support_push' => $data['is_support_push'], 'datasource_argument' => $data['datasource_argument'] ? serialize($data['datasource_argument']) : '');
     //根据栏目id查出站点id
     $insert_id = $block->insert($block_data);
     $block->update(array('group_id' => $insert_id), $insert_id);
     $block->check_block_relation($data['site_id'], $insert_id, $data['page_id'], $data['page_data_id'], $data['content_type'], $data['client_type'], $data['expand_name']);
     $line_data = array('block_id' => $insert_id);
     //根据数据源取对应内容
     $content_data = array();
     if ($data['datasource_id']) {
         $content_data = $data_source->get_content_by_datasource($data['datasource_id'], $data['datasource_argument']);
     }
     $block_set->insert_line($data['line_num'], $line_data);
     if (is_array($content_data) && $content_data) {
         $block_set->insert_content($data['line_num'], $insert_id, $content_data);
     }
     $data['id'] = $insert_id;
     return $data;
 }
예제 #2
0
 /**
  * update区块(魔力视图)
  */
 public function update()
 {
     $id = intval($this->input['id']);
     if (!$id) {
         $this->errorOutput('更新失败');
     }
     $data = array('name' => urldecode($this->input['name']), 'update_time' => intval($this->input['update_time']), 'update_type' => intval($this->input['update_type']), 'datasource_id' => intval($this->input['datasource_id']), 'width' => intval($this->input['width']), 'height' => intval($this->input['height']), 'line_num' => intval($this->input['line_num']), 'father_tag' => urldecode($this->input['father_tag']), 'loop_body' => urldecode($this->input['loop_body']), 'is_support_push' => intval($this->input['is_support_push']), 'last_update_time' => TIMENOW, 'datasource_argument' => $this->input['datasource_argument'] ? serialize($this->input['datasource_argument']) : '');
     $old_block_data = $this->obj->get_block_first($id);
     $this->obj->update($data, $id);
     $line_data = array('block_id' => $id);
     $this->block_set->insert_line($data['line_num'], $line_data);
     if ($data['datasource_id']) {
         if (!$old_block_data['datasource_id'] || $old_block_data['datasource_id'] != $data['datasource_id']) {
             include_once ROOT_PATH . 'lib/class/data_source.class.php';
             $data_source = new dataSource();
             $content_data = $data_source->get_content_by_datasource($data['datasource_id'], $data['datasource_argument']);
             $new_content_idarr = array();
             foreach ($content_data as $kkk => $vvv) {
                 $vvv['id'] && ($new_content_idarr[] = $vvv['id']);
             }
             //查询出这个区块的现有所有内容id
             $new_content_idstr = implode(',', $new_content_idarr);
             $contentidarr = array();
             if ($new_content_idstr) {
                 $contentidarr = $this->block_set->get_content_by_content_ids($id, $new_content_idstr);
             }
             foreach ($content_data as $kkk => $vvv) {
                 if ($contentidarr[$vvv['id']]) {
                     unset($content_data[$kkk]);
                 }
             }
             if (is_array($content_data) && $content_data) {
                 $this->block_set->insert_content($data['line_num'], $id, $content_data);
             }
         }
     }
     include_once CUR_CONF_PATH . 'lib/cache.class.php';
     $cache = new Cache();
     $cache->initialize(BLOCK_CACHE);
     $cache->delete($id);
     $data = $this->obj->get_block_first($id);
     $datasource_info_data = array();
     $data['site_id'] = intval($this->input['site_id']);
     $data['page_id'] = intval($this->input['page_id']);
     $data['page_data_id'] = intval($this->input['page_data_id']);
     $data['expand_name'] = $this->input['expand_name'];
     $data['datasource_data'] = $datasource['datasource_data'];
     $data['datasource_info_data'] = $datasource_info_data;
     $data['app_data'] = $datasource['app_data'];
     $this->addItem($data);
     $this->output();
 }