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); }
/** * 修改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); }
/** * 内容管理下更换视频内容的栏目 */ 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(); }
/** * 内容管理下更换内容的栏目 */ 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(); }
/** * 内容管理下更换内容的栏目 */ 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(); }
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(); }