コード例 #1
0
ファイル: create.php プロジェクト: h3len/Project
 private function storage_data($video, $vod_config)
 {
     if ($video['column_id']) {
         $publish_column = new publishconfig();
         $column_id = $video['column_id'];
         $column_id = $publish_column->get_columnname_by_ids('id,name', $column_id);
         $column_id = serialize($column_id);
     }
     $channel_id = $video['channel_id'];
     if ($video['create_time'] != -1) {
         $create_time = strtotime($video['create_time']);
     }
     $pathinfo = pathinfo($video['filepath']);
     //如果不存在分类就默认其分类与类型相同
     $vod_leixing = $video['vod_leixing'] ? $video['vod_leixing'] : 1;
     if (!$video['vod_sort_id'] || intval($video['vod_sort_id']) == -1) {
         $video['vod_sort_id'] = $vod_leixing;
     }
     /************创建视频的权限控制**********/
     if ($this->user['group_type'] > MAX_ADMIN_TYPE) {
         $prms['_action'] = 'create';
         $prms['node'] = $video['vod_sort_id'];
         if (!$this->verify_self_prms($prms)) {
             $this->errorOutput('NO_PRIVILEGE');
             //$this->addItem(array('return' => 'fail'));
             //$this->output();
         }
     }
     foreach ($video as $k => $v) {
         if (is_string($v)) {
             $video[$k] = rawurldecode($v);
         }
     }
     $data = array('cur_clarity' => $vod_config['unique_id'], 'title' => $video['title'] ? $video['title'] : $this->dir_info['original'], 'source' => $video['source'], 'subtitle' => $video['subtitle'], 'keywords' => $video['keywords'], 'weight' => $video['weight'], 'comment' => $video['comment'], 'author' => $video['author'], 'vod_leixing' => $vod_leixing, 'bitrate' => $vod_config['video_bitrate'], 'vod_sort_id' => $video['vod_sort_id'], 'is_allow' => $video['is_mark'], 'starttime' => $video['starttime'] ? strtotime($video['starttime']) : '', 'hostwork' => defined("TARGET_VIDEO_DOMAIN") ? 'http://' . ltrim(TARGET_VIDEO_DOMAIN, 'http://') : $this->settings['videouploads']['protocol'] . $this->settings['videouploads']['host'], 'source_hostwork' => defined("SOURCE_VIDEO_DOMIAN") ? 'http://' . ltrim(SOURCE_VIDEO_DOMIAN, 'http://') : '', 'source_base_path' => UPLOAD_DIR, 'source_path' => rtrim($pathinfo['dirname'], '/') . '/', 'source_filename' => $pathinfo['basename'], 'video_base_path' => TARGET_DIR, 'video_path' => $this->dir_info['target_dir'], 'video_filename' => $this->dir_info['output_filename'] . '.' . $this->dir_info['output_format'], 'channel_id' => $channel_id, 'column_id' => $column_id, 'from_appid' => $this->user['appid'], 'from_appname' => $this->user['display_name'], 'user_id' => $video['_user_id'] ? $video['_user_id'] : ($this->input['user_id'] ? $this->input['user_id'] : $this->user['user_id']), 'addperson' => $video['_user_name'] ? $video['_user_name'] : ($this->input['user_name'] ? $this->input['user_name'] : $this->user['user_name']), 'org_id' => $this->input['org_id'] ? $this->input['org_id'] : $this->user['org_id'], 'create_time' => $create_time ? $create_time : TIMENOW, 'update_time' => TIMENOW, 'ip' => hg_getip(), 'app_uniqueid' => $video['app_uniqueid'] ? $video['app_uniqueid'] : 'livmedia', 'mod_uniqueid' => $video['mod_uniqueid'] ? $video['mod_uniqueid'] : MOD_UNIQUEID, 'morebitrate_config_id' => $video['vod_config_id'], 'template_sign' => $video['template_sign']);
     if ($video['is_time_shift']) {
         $sql = "UPDATE " . DB_PREFIX . "vodinfo SET ";
     } else {
         $sql = " INSERT INTO " . DB_PREFIX . "vodinfo SET ";
     }
     foreach ($data as $k => $v) {
         $sql .= " {$k} = '{$v}',";
     }
     $sql = trim($sql, ',');
     if ($video['is_time_shift']) {
         $sql .= ' WHERE id = ' . $video['id'];
     }
     $this->db->query($sql);
     if ($video['is_time_shift']) {
         $vid = $video['id'];
     } else {
         $vid = $this->db->insert_id();
     }
     //记录发布库栏目分发表
     $this->update_pub_column($vid, $video['column_id']);
     //记录发布库栏目分发表
     if ($video['index_pic']) {
         $material = new material();
         $img_info = $material->localMaterial($video['index_pic'], $vid);
         $img_info = $img_info[0];
     } else {
         //获取一张截图,并且提交到图片服务器
         $img_info = getimage(UPLOAD_DIR . $video['filepath'], TARGET_DIR . $this->dir_info['target_dir'], $vid);
         if (!$img_info || !$img_info['filename']) {
             if ($this->settings['App_live'] && $channel_id) {
                 include_once ROOT_PATH . 'lib/class/live.class.php';
                 $live = new live();
                 $channelinfo = $live->getChannelById($channel_id, 1, 1);
                 if ($channelinfo && $channelinfo[0] && $channelinfo[0]['snap']) {
                     $img_info = $channelinfo[0]['snap'];
                 }
             }
         }
     }
     if ($img_info && is_array($img_info)) {
         $image_info = array('host' => $img_info['host'], 'dir' => $img_info['dir'], 'filepath' => $img_info['filepath'], 'filename' => $img_info['filename'], 'imgwidth' => $img_info['imgwidth'], 'imgheight' => $img_info['imgheight']);
     } else {
         $image_info = array();
     }
     $sql = " UPDATE " . DB_PREFIX . "vodinfo SET video_order_id = {$vid},img_info = '" . serialize($image_info) . "'  WHERE id = {$vid}";
     $this->db->query($sql);
     //存储vod_extend表
     if ($video['content_id']) {
         $extend_data = array('vodinfo_id' => $vid, 'content_id' => $video['content_id'], 'extend_data' => $video['extend_data']);
         $sql = " INSERT INTO " . DB_PREFIX . "vod_extend SET ";
         foreach ($extend_data as $k => $v) {
             $sql .= " {$k} = '{$v}',";
         }
         $sql = trim($sql, ',');
         $this->db->query($sql);
     }
     //加入日志
     $data['id'] = $vid;
     $this->addLogs('创建视频', '', $data, $data['title']);
     return array('vid' => $vid, 'img_info' => $image_info);
 }
コード例 #2
0
ファイル: news_update.php プロジェクト: h3len/Project
 /**
  * 修改news内容的所属栏目
  */
 public function editColumnById()
 {
     $article_id = intval($this->input['id']);
     $column_id = intval($this->input['column_id']);
     $sql = "SELECT * FROM " . DB_PREFIX . "article WHERE id = " . $article_id;
     $q = $this->db->query_first($sql);
     $updateArray = array();
     include_once ROOT_PATH . 'lib/class/publishconfig.class.php';
     $publish_column = new publishconfig();
     $result = $publish_column->get_columnname_by_ids('id,name', $column_id);
     $info['column_id'] = $result ? serialize($result) : '';
     $updateArray['column_id'] = serialize($result);
     $article_update_ret = $this->obj->update($updateArray, "article", "id={$article_id}");
     $ori_column_id = array();
     $q['column_id'] = unserialize($q['column_id']);
     if (is_array($q['column_id'])) {
         $ori_column_id = array_keys($q['column_id']);
     }
     //记录文稿发布库栏目分发表
     $this->obj->update_pub_column($article_id, $this->input['column_id']);
     //发布系统
     $ret = $this->obj->get_article(" id = {$article_id}", 'column_id,state,expand_id,catalog');
     //更改文章后发布的栏目
     $ret['column_id'] = unserialize($ret['column_id']);
     $new_column_id = array();
     if (is_array($ret['column_id'])) {
         $new_column_id = array_keys($ret['column_id']);
     }
     $info['id'] = $article_id;
     if (intval($ret['state']) == 1) {
         if (!empty($ret['expand_id'])) {
             $del_column = array_diff($ori_column_id, $new_column_id);
             if (!empty($del_column)) {
                 publish_insert_query($info, 'delete', $del_column);
             }
             $add_column = array_diff($new_column_id, $ori_column_id);
             if (!empty($add_column)) {
                 publish_insert_query($info, 'insert', $add_column);
             }
             $same_column = array_intersect($ori_column_id, $new_column_id);
             if (!empty($same_column)) {
                 publish_insert_query($info, 'update', $same_column);
                 //有新插入素材时需插入子队列
                 publish_insert_query($info, 'insert', $same_column, 1);
             }
         } else {
             //根据$article_id拿取news表/article中的信息
             $op = "insert";
             publish_insert_query($info, $op);
         }
     } else {
         if (!empty($ret['expand_id'])) {
             $new_info = $this->obj->getNewInfoById($article_id);
             $new_info['column_id'] = $info['column_id'];
             $info = $new_info;
             $op = "delete";
             publish_insert_query($info, $op);
         }
     }
     if ($article_update_ret) {
         $this->addItem($updateArray);
     }
     $this->output();
     // 	 	$result = $this->obj->update(array('column_id'=>$column_id),'article','id = '.$id);
 }
コード例 #3
0
ファイル: vod_update.php プロジェクト: h3len/Project
 /**
  * 内容管理下更换视频内容的栏目
  */
 public function editColumnsById()
 {
     $id = intval($this->input['id']);
     $column_id = intval($this->input['column_id']);
     $updateArray = array();
     //查询修改视频之前已经发布到的栏目
     $sql = "select * from " . DB_PREFIX . "vodinfo where id = " . $id;
     $q = $this->db->query_first($sql);
     $pre_data = $q;
     $q['column_id'] = unserialize($q['column_id']);
     $ori_column_id = array();
     if (is_array($q['column_id'])) {
         $ori_column_id = array_keys($q['column_id']);
     }
     include_once ROOT_PATH . 'lib/class/publishconfig.class.php';
     $publish_column = new publishconfig();
     $result = $publish_column->get_columnname_by_ids('id,name', $column_id);
     $updateArray['column_id'] = serialize($result);
     $updatesql = "UPDATE " . DB_PREFIX . "vodinfo set column_id ='" . $updateArray['column_id'] . "'  WHERE  id = " . $id;
     $updateC = $this->db->query($updatesql);
     //发布系统
     $sql = "SELECT * FROM " . DB_PREFIX . "vodinfo WHERE id = " . $id;
     $ret = $this->db->query_first($sql);
     //更改视频后发布的栏目
     $ret['column_id'] = unserialize($ret['column_id']);
     $new_column_id = array();
     if (is_array($ret['column_id'])) {
         $new_column_id = array_keys($ret['column_id']);
     }
     //记录发布库栏目分发表
     $this->update_pub_column(intval($this->input['id']), implode(',', $new_column_id));
     //记录发布库栏目分发表
     if (intval($ret['status']) == 2) {
         if (!empty($ret['expand_id'])) {
             $del_column = array_diff($ori_column_id, $new_column_id);
             if (!empty($del_column)) {
                 publish_insert_query($ret, 'delete', $del_column);
             }
             $add_column = array_diff($new_column_id, $ori_column_id);
             if (!empty($add_column)) {
                 publish_insert_query($ret, 'insert', $add_column);
             }
             $same_column = array_intersect($ori_column_id, $new_column_id);
             if (!empty($same_column)) {
                 publish_insert_query($ret, 'update', $same_column);
             }
         } else {
             if ($new_column_id) {
                 $op = "insert";
                 publish_insert_query($ret, $op);
             }
         }
     } else {
         if (!empty($ret['expand_id'])) {
             $op = "delete";
             publish_insert_query($ret, $op);
         }
     }
     //修改vote_question中column_id
     if ($updateC) {
         $this->addItem($updateArray);
     }
     $this->output();
 }
コード例 #4
0
 /**
  * 内容管理下更换内容的栏目
  */
 public function editColumnsById()
 {
     $id = intval($this->input['id']);
     $column_id = intval($this->input['column_id']);
     $updateArray = array();
     //取投票数据
     $vote = $this->mVote->get_vote_by_id($id);
     $vote = $vote[0];
     $status = $vote['status'];
     include_once ROOT_PATH . 'lib/class/publishconfig.class.php';
     $publish_column = new publishconfig();
     $result = $publish_column->get_columnname_by_ids('id,name', $column_id);
     $updateArray['column_id'] = serialize($result);
     $updateArray['id'] = $id;
     //修改vote_question中column_id
     $ret_vote = $this->mVote->update($updateArray);
     //发布开始
     //$vote['column_id'] = unserialize($vote['column_id']);
     $ori_column_id = array();
     if (is_array($vote['column_id'])) {
         $ori_column_id = array_keys($vote['column_id']);
     }
     $data['column_id'] = $this->mPublishColumn->get_columnname_by_ids('id,name', $column_id);
     $data['column_id'] = $data['column_id'] ? serialize($data['column_id']) : '';
     $data['id'] = $id;
     //发布开始
     if ($ret_vote['id']) {
         //更改文章后发布的栏目
         $ret_vote['column_id'] = unserialize($ret_vote['column_id']);
         $new_column_id = array();
         if (is_array($ret_vote['column_id'])) {
             $new_column_id = array_keys($ret_vote['column_id']);
         }
         if ($status == 1) {
             if (!empty($vote['expand_id'])) {
                 $del_column = array_diff($ori_column_id, $new_column_id);
                 if (!empty($del_column)) {
                     $this->publish_insert_query($data['id'], 'delete', $del_column);
                 }
                 $add_column = array_diff($new_column_id, $ori_column_id);
                 if (!empty($add_column)) {
                     $this->publish_insert_query($data['id'], 'insert', $add_column);
                 }
                 $same_column = array_intersect($ori_column_id, $new_column_id);
                 if (!empty($same_column)) {
                     $this->publish_insert_query($data['id'], 'update', $same_column);
                 }
             } else {
                 $op = "insert";
                 $this->publish_insert_query($data['id'], $op, $new_column_id);
             }
         } else {
             if (!empty($vote['expand_id'])) {
                 $op = "delete";
                 $this->publish_insert_query($data['id'], $op, $ori_column_id);
             }
         }
     }
     if ($ret_vote) {
         $this->addItem($updateArray);
     }
     $this->output();
 }
コード例 #5
0
ファイル: tuji_update.php プロジェクト: h3len/Project
 /**
  * 内容管理下更换内容的栏目
  */
 public function editColumnsById()
 {
     $id = intval($this->input['id']);
     $column_id = intval($this->input['column_id']);
     $updateArray = array();
     //查询修改图集之前已经发布到的栏目
     $sql = "select * from " . DB_PREFIX . "tuji where id = " . $id;
     $q = $this->db->query_first($sql);
     if (!empty($q)) {
         $ori_column_id = array();
         $q['column_id'] = unserialize($q['column_id']);
         if (is_array($q['column_id'])) {
             $ori_column_id = array_keys($q['column_id']);
         }
     }
     include_once ROOT_PATH . 'lib/class/publishconfig.class.php';
     $publish_column = new publishconfig();
     $result = $publish_column->get_columnname_by_ids('id,name', $column_id);
     $updateArray['column_id'] = serialize($result);
     //修改vote_question中column_id
     $sql = "UPDATE " . DB_PREFIX . "tuji  SET  status=1 , column_id = '" . serialize($result) . "'  WHERE id IN (" . $id . ")";
     $updateC = $this->db->query($sql);
     //记录发布库栏目分发表
     $this->tuji->update_pub_column($id, $column_id);
     //记录发布库栏目分发表
     //发布系统
     $sql = "SELECT * FROM " . DB_PREFIX . "tuji WHERE id = " . intval($this->input['id']);
     $ret = $this->db->query_first($sql);
     //更改文章后发布的栏目
     $ret['column_id'] = unserialize($ret['column_id']);
     $new_column_id = array();
     if (is_array($ret['column_id'])) {
         $new_column_id = array_keys($ret['column_id']);
     }
     if (intval($ret['status']) == 1) {
         if (!empty($ret['expand_id'])) {
             $del_column = array_diff($ori_column_id, $new_column_id);
             if (!empty($del_column)) {
                 publish_insert_query($ret, 'delete', $del_column);
             }
             $add_column = array_diff($new_column_id, $ori_column_id);
             if (!empty($add_column)) {
                 publish_insert_query($ret, 'insert', $add_column);
             }
             $same_column = array_intersect($ori_column_id, $new_column_id);
             if (!empty($same_column)) {
                 publish_insert_query($ret, 'update', $same_column);
                 //有新图片时需插入子队列
                 publish_insert_query($ret, 'insert', $same_column, 1);
             }
         } else {
             $op = "insert";
             publish_insert_query($ret, $op);
         }
     } else {
         if (!empty($ret['expand_id'])) {
             $op = "delete";
             publish_insert_query($ret, $op);
         }
     }
     if ($updateC) {
         $this->addItem($updateArray);
     }
     $this->output();
 }
コード例 #6
0
ファイル: org_admin.php プロジェクト: h3len/Project
 public function get_roles_prms()
 {
     $sql = "SELECT prms.*, app.name FROM " . DB_PREFIX . "role_prms prms LEFT JOIN " . DB_PREFIX . 'apps app ON prms.app_uniqueid=app.bundle ';
     $query = $this->db->query($sql);
     $role_prms = array();
     while ($row = $this->db->fetch_array($query)) {
         if (trim($row['func_prms'])) {
             $row['func_prms'] = array_flip(explode(',', $row['func_prms']));
             foreach ($row['func_prms'] as $action => $null) {
                 if (!$this->settings['auth_op'][$action]) {
                     $row['func_prms'][$action] = $action;
                 } else {
                     $row['func_prms'][$action] = $this->settings['auth_op'][$action];
                 }
             }
             //$this->settings['auth_op'];
         }
         $role_prms[$row['admin_role_id']]['app_prms'][$row['app_uniqueid']] = $row;
     }
     $sql = 'SELECT id,extend_prms,site_prms,publish_prms FROM ' . DB_PREFIX . 'admin_role ';
     $query = $this->db->query($sql);
     $column_ids = $site_ids = '';
     while ($row = $this->db->fetch_array($query)) {
         if ($row['publish_prms']) {
             $column_ids .= $row['publish_prms'] . ',';
         }
         if ($row['site_prms']) {
             $site_ids .= $row['site_prms'] . ',';
         }
         $row['publish_prms'] = $row['publish_prms'] ? explode(',', $row['publish_prms']) : array();
         $row['site_prms'] = $row['site_prms'] ? explode(',', $row['site_prms']) : array();
         $row['extend_prms'] = unserialize($row['extend_prms']);
         $role[$row['id']] = $row;
     }
     $column_ids = trim($column_ids, ',');
     $site_ids = trim($site_ids, ',');
     if ($column_ids) {
         require_once ROOT_PATH . 'lib/class/publishconfig.class.php';
         $publishconfig = new publishconfig();
         $publish_columns = $publishconfig->get_columnname_by_ids('*', $column_ids);
     }
     if (!class_exists('publishconfig')) {
         require_once ROOT_PATH . 'lib/class/publishconfig.class.php';
         $publishconfig = new publishconfig();
     }
     $publish_sites = $publishconfig->get_sites();
     foreach ($role_prms as $role_id => $v) {
         $v['publish_prms'] = array();
         if ($role[$role_id]['publish_prms']) {
             $v['publish_prms'] = array_intersect_key($publish_columns, array_flip($role[$role_id]['publish_prms']));
         }
         $v['site_prms'] = array();
         if ($role[$role_id]['site_prms']) {
             $v['site_prms'] = array_intersect_key($publish_sites, array_flip($role[$role_id]['site_prms']));
         }
         $v['extend_prms'] = array();
         if ($role[$role_id]['extend_prms']) {
             $v['default_setting'] = $role[$role_id]['extend_prms'];
         }
         $this->addItem_withkey($role_id, $v);
     }
     $this->output();
 }