public function detail($id = '') { if (!$id) { return false; } $sql = "SELECT a.*,c.content FROM " . DB_PREFIX . "article a \n\t\t\t\tLEFT JOIN " . DB_PREFIX . "article_content c \n\t\t\t\t\tON a.id = c.articleid \n\t\t\t\tWHERE a.id = " . $id; $info = $this->db->query_first($sql); $ret = $this->getMaterialById($id); if (!empty($ret)) { foreach ($ret as $k => $v) { $v['filesize'] = hg_bytes_to_size($v['filesize']); switch ($v['mark']) { case 'img': //将缩略图信息加入info数组 $info['material'][$v['id']] = $v; $info['material'][$v['id']]['path'] = $v['host'] . $v['dir']; $info['material'][$v['id']]['dir'] = $v['filepath']; $info['material'][$v['id']]['filename'] = $v['filename'] . '?' . hg_generate_user_salt(4); break; case 'doc': $info['material'][$v['id']] = $v; $info['material'][$v['id']]['path'] = $v['host'] . $v['dir']; $info['material'][$v['id']]['dir'] = $v['filepath']; $info['material'][$v['id']]['filename'] = $v['filename'] . '?' . hg_generate_user_salt(4); break; case 'real': $info['material'][$v['id']] = $v; break; default: break; } } } /*$period_id = $info['period_id']; $stack_id = $info['stack_id']; $page_id = $info['page_id']; if($period_id && $page_id && $stack_id) { $info['stack'] = $this->settings['stack_set'][$stack_id]; $sql = "SELECT id FROM ".DB_PREFIX."page WHERE period_id = ".$period_id; $q = $this->db->query($sql); $page_num = 1; while ($r = $this->db->fetch_array($q)) { if($r['id'] == $page_id) { $info['page_num'] = $this->settings['stack_set'][$stack_id].$page_num; break; } $page_num = $page_num + 1; } }*/ return $info; }
public function detail() { ##### $this->verify_content_prms(array('_action' => 'show')); ##### $id = intval($this->input['id']); if ($id) { $data_limit = ' AND a.id=' . $id; } else { $data_limit = ' LIMIT 1'; } $sql = 'SELECT a.*,b.name as sort_name FROM ' . DB_PREFIX . 'special a LEFT JOIN ' . DB_PREFIX . 'special_sort b ON a.sort_id = b.id WHERE 1' . $data_limit; $r = $this->db->query_first($sql); $sql_ = 'SELECT * FROM ' . DB_PREFIX . 'special_material WHERE special_id =' . $id . ' AND del =0'; $q = $this->db->query($sql_); $summary = $material = array(); while ($row = $this->db->fetch_array($q)) { if ($row['mark'] != 'video') { $row['filesize'] = hg_bytes_to_size($row['filesize']); $row['material'] = unserialize($row['material']); $material[] = $row; } else { $video[$row['id']] = unserialize($row['material']); } } $sq = 'SELECT * FROM ' . DB_PREFIX . 'special_summary WHERE special_id =' . $id . ' AND del=0'; $q_ = $this->db->query($sq); $summary = array(); while ($ro = $this->db->fetch_array($q_)) { $summary[] = $ro; } $r['column_id'] = unserialize($r['column_id']); if (is_array($r['column_id'])) { $column_id = array(); foreach ($r['column_id'] as $k => $v) { $column_id[] = $k; } $column_id = implode(',', $column_id); $r['column_id'] = $column_id; } $r['pub_time'] = $r['pub_time'] ? date("Y-m-d H:i", $r['pub_time']) : date("Y-m-d H:i", TIMENOW); $r['pic'] = $r['pic'] ? unserialize($r['pic']) : array(); $r['top_pic'] = $r['top_pic'] ? unserialize($r['top_pic']) : array(); $r['client_pic'] = unserialize($r['client_pic']); $r['client_top_pic'] = unserialize($r['client_top_pic']); $r['material'] = $material; $r['video'] = $video; $r['summary'] = $summary; $this->addItem($r); $this->output(); }
public function show($condition) { $sql = "SELECT * FROM " . DB_PREFIX . "material WHERE isdel=1 " . $condition; $ret = $this->db->query($sql); $info = array(); while ($row = $this->db->fetch_array($ret)) { $row['create_time'] = date('Y-m-d H:i', $row['create_time']); $row['filesize'] = hg_bytes_to_size($row['filesize']); switch ($row['mark']) { case 'img': $setting_code = $this->get_setting_code($row['type']); $filename = preg_replace('/(.*?\\.).*?/siU', "\\1json", $row['filename']); $filepath = hg_getimg_dir($row['bs']) . app_to_dir($row['bundle_id']) . $row['filepath']; if (file_exists($filepath . $filename)) { $file_handle = fopen($filepath . $filename, "r"); $content = ""; while (!feof($file_handle)) { $content .= fgets($file_handle); } fclose($file_handle); $thumb = json_decode($content, true); if (!empty($thumb['thumb'])) { foreach ($thumb['thumb'] as $k => $v) { if (is_file($v) && file_exists($v)) { preg_match_all('/(.*?)(.*?\\/img\\/)([0-9]*)[x|-]([0-9]*)\\/(\\d{0,4}\\/\\d{0,2}\\/)(.*?)(\\.[a-zA-Z]*)(\\?\\w*)?/i', $v, $out); $row['thumb'][$k] = hg_material_link(hg_getimg_host($row['bs']), app_to_dir($row['bundle_id']), $row['filepath'], $row['filename'], $this->settings['default_size']['label'] . '/'); $row['thumb_size'][$k] = $out[3][0] . 'x' . $out[4][0]; // 100x75/ $row['thumb_url'][$k] = hg_material_link(hg_getimg_host($row['bs']), app_to_dir($row['bundle_id']), $row['filepath'], $row['filename'], $row['thumb_size'][$k] . '/'); $row['thumb_code'][$k] = str_replace('{filename}', $row['thumb'][$k], $setting_code); } } } } $row['url'] = hg_material_link(hg_getimg_host($row['bs']), app_to_dir($row['bundle_id']), $row['filepath'], $row['filename'], $this->settings['default_size']['label'] . '/'); $row['code'] = str_replace("{filename}", $row['url'], $setting_code); $row['ori_path'] = app_to_dir($row['bundle_id']) . $row['filepath'] . $row['filename']; $row['mark'] = 'img'; $info[$row['id']] = $row; break; case 'doc': $row['url'] = hg_material_link(hg_getimg_host($row['bs']), app_to_dir($row['bundle_id'], 'doc'), $row['filepath'], $row['filename']); $setting_code = $this->get_setting_code($row['type']); $search = array("{filename}", "{name}"); $replace = array($row['url'], $row['name']); $row['code'] = str_replace($search, $replace, $setting_code); $info[$row['id']] = $row; break; default: break; } } return $info; }
public function get_special_material() { $id = intval($this->input['id']); if (!$id) { $this->errorOutput(NO_SPECIALID); } $sql_ = 'SELECT * FROM ' . DB_PREFIX . 'special_material WHERE special_id =' . $id . ' AND del =0'; $q = $this->db->query($sql_); $summary = $material = array(); while ($row = $this->db->fetch_array($q)) { if ($row['mark'] != 'video') { $row['filesize'] = hg_bytes_to_size($row['filesize']); $row['material'] = unserialize($row['material']); $material[] = $row; } else { $video[$row['id']] = unserialize($row['material']); } } $re['mer'] = $material; $re['video'] = $video; $this->addItem($re); $this->output(); }
public function get_special_by_id($special_id, $appid = 0) { $sql = "SELECT * FROM " . DB_PREFIX . "special WHERE id = " . $special_id; $r = $this->db->query_first($sql); $sql_ = 'SELECT * FROM ' . DB_PREFIX . 'special_material WHERE special_id =' . $special_id . ' AND del =0'; $q = $this->db->query($sql_); $summary = $material = array(); while ($row = $this->db->fetch_array($q)) { if ($row['mark'] != 'video') { $row['filesize'] = hg_bytes_to_size($row['filesize']); $row['material'] = unserialize($row['material']); $material[] = $row; } else { $video[$row['id']] = unserialize($row['material']); } } $sq = 'SELECT * FROM ' . DB_PREFIX . 'special_summary WHERE special_id =' . $special_id . ' AND del=0'; $q_ = $this->db->query($sq); while ($ro = $this->db->fetch_array($q_)) { unset($ro['del']); $summary[] = $ro; } $r['column_id'] = unserialize($r['column_id']); if (is_array($r['column_id'])) { $column_id = array(); foreach ($r['column_id'] as $k => $v) { $column_id[] = $k; } $column_id = implode(',', $column_id); $r['column_id'] = $column_id; } $r['pub_time'] = $r['pub_time'] ? date("Y-m-d H:i", $r['pub_time']) : date("Y-m-d H:i", TIMENOW); $r['column_url'] = $r['column_url'] ? unserialize($r['column_url']) : array(); if ($r['client_pic']) { $client_pic = unserialize($r['client_pic']); if ($appid) { $app_pic = $client_pic[$appid]; } if ($app_pic) { $r['pic'] = serialize($app_pic); } } if ($r['pic']) { $r['pic'] = unserialize($r['pic']); $r['indexpic'] = $r['pic']; } unset($r['client_pic']); if ($r['client_top_pic']) { $client_top_pic = unserialize($r['client_top_pic']); if ($appid && isset($client_top_pic[$appid])) { $app_top_pic = $client_top_pic[$appid]; } if ($app_top_pic) { $r['top_pic'] = serialize($app_top_pic); } } if ($r['top_pic']) { $r['top_pic'] = unserialize($r['top_pic']); $r['icon']['icon_1']['default'] = $r['top_pic']; $r['icon']['icon_1']['activation'] = $r['top_pic']; } unset($r['client_top_pic']); $r['material'] = $material; $r['video'] = $video; $r['summary'] = $summary; return $r; }
public function upload() { $material = $this->mater->addMaterial($_FILES, 0, 0, intval($this->input['water_config_id'])); if (!empty($material) && is_array($material)) { $material['pic'] = array('host' => $material['host'], 'dir' => $material['dir'], 'filepath' => $material['filepath'], 'filename' => $material['filename']); $code = $material['code']; $data = array('material_id' => $material['id'], 'name' => $material['name'], 'pic' => serialize($material['pic']), 'host' => $material['host'], 'dir' => $material['dir'], 'filepath' => $material['filepath'], 'filename' => $material['filename'], 'type' => $material['type'], 'mark' => $material['mark'], 'imgwidth' => $material['imgwidth'], 'imgheight' => $material['imgheight'], 'filesize' => $material['filesize'], 'create_time' => $material['create_time'], 'ip' => $material['ip'], 'remote_url' => $material['remote_url']); $this->obj->insert_data($data, "material"); $material['filesize'] = hg_bytes_to_size($material['filesize']); $return = array('success' => true, 'id' => $material['id'], 'filename' => $material['filename'] . '?' . hg_generate_user_salt(4), 'name' => $material['name'], 'mark' => $material['mark'], 'type' => $material['type'], 'filesize' => $material['filesize'], 'path' => $material['host'] . $material['dir'], 'dir' => $material['filepath'], 'code' => $code, '_host' => $material['host'], '_dir' => $material['dir'], '_filepath' => $material['filepath'], '_filename' => $material['filename'], 'imgwidth' => $material['imgwidth'], 'imgheight' => $material['imgheight']); } else { $return = array('error' => '文件上传失败'); } $this->addLogs('上传图片', '', '', $return['name']); $this->addItem($return); $this->output(); }
public function process_draft($draft) { if (!empty($draft['content']['indexpic'])) { //查找索引图 $draft['content']['indexpic_url'] = $this->getIndexpic($draft['content']['indexpic']); } else { $draft['content']['indexpic_url'] = ''; } if (!empty($draft['content']['material_id'])) { $material_id = implode(',', $draft['content']['material_id']); $ret = $this->getMaterialByMid($material_id); if (!empty($ret)) { foreach ($ret as $k => $v) { $v['filesize'] = hg_bytes_to_size($v['filesize']); switch ($v['mark']) { case 'img': //将缩略图信息加入info数组 $draft['content']['material'][$v['id']] = $v; $draft['content']['material'][$v['id']]['path'] = $v['host'] . $v['dir']; $draft['content']['material'][$v['id']]['dir'] = $v['filepath']; $draft['content']['material'][$v['id']]['filename'] = $v['filename'] . '?' . hg_generate_user_salt(4); break; case 'doc': $draft['content']['material'][$v['id']] = $v; $draft['content']['material'][$v['id']]['path'] = $v['host'] . $v['dir']; $draft['content']['material'][$v['id']]['dir'] = $v['filepath']; $draft['content']['material'][$v['id']]['filename'] = $v['filename'] . '?' . hg_generate_user_salt(4); break; case 'real': $draft['content']['material'][$v['id']] = $v; break; default: break; } //$url = $v['host'] . $v['dir'] . $v['filepath'] . $v['filename']; //$draft['content']['material'][$v['id']]['code'] = str_replace(array('{filename}','{name}'), array($url, $v['name']), $support_type[$v['mark']][$v['type']]['code']); } } } return $draft; }
public function upload() { if ($_FILES['Filedata']) { $material = $this->mater->addMaterial($_FILES, 0, 0, intval($this->input['water_config_id'])); //图片信息返回后,更新内容标签 if (!empty($material)) { $sql = "REPLACE INTO " . DB_PREFIX . "material SET "; $material['material_id'] = $material['id']; //unset($material['bundle_id'], $material['mid'], $material['id'], $material['url'],$material['code']); $sql_extra = $space = ''; $data = array('material_id' => $material['id'], 'name' => $material['name'], 'host' => $material['host'], 'dir' => $material['dir'], 'filepath' => $material['filepath'], 'filename' => $material['filename'], 'type' => $material['type'], 'mark' => $material['mark'], 'imgwidth' => $material['imgwidth'], 'imgheight' => $material['imgheight'], 'filesize' => $material['filesize'], 'create_time' => $material['create_time'], 'ip' => $material['ip']); foreach ($data as $k => $v) { $sql_extra .= $space . $k . "='" . $v . "'"; $space = ','; } $sql = $sql . $sql_extra; $this->db->query($sql); $material['filesize'] = hg_bytes_to_size($material['filesize']); $return = array('success' => true, 'id' => $material['material_id'], 'filename' => $material['filename'] . '?' . hg_generate_user_salt(4), 'name' => $material['name'], 'mark' => $material['mark'], 'type' => $material['type'], 'filesize' => $material['filesize'], 'path' => $material['host'] . $material['dir'], 'dir' => $material['filepath']); } else { $return = array('success' => false, 'error' => '文件上传失败'); } return $return; } }
public function details() { $ids = trim($_REQUEST['ids']); $ids = explode(',', $ids); foreach ($ids as $id) { if ($id) { $data_limit = ' AND a.id=' . $id; } else { $this->output(NOID); } $info = $this->obj->get_content($data_limit); if ($info) { $info['create_time_show'] = date("Y-m-d H:i", $info['create_time']); $info['update_time_show'] = date("Y-m-d H:i", $info['update_time']); $info['pub_time'] = $info['pub_time'] ? date("Y-m-d H:i", $info['pub_time']) : ''; $info['column_id'] = unserialize($info['column_id']); $info['other_settings'] = $info['other_settings'] ? unserialize($info['other_settings']) : ''; if (is_array($info['column_id'])) { $column_id = array(); foreach ($info['column_id'] as $k => $v) { $column_id[] = $k; } $column_id = implode(',', $column_id); $info['column_id'] = $column_id; } if ($info['outlink'] == '请填写超链接!') { $info['outlink'] = ''; } $_content = $info['content']; $_content = htmlspecialchars_decode($_content); $pregreplace = array('<!--', '-->', '>', '<', '"', '!', "'", "\n", '$', "\r", '<script'); $pregfind = array('<!--', '-->', '>', '<', '"', '!', ''', "\n", '$', '', '<script'); $_content = str_replace($pregfind, $pregreplace, $_content); $info['file_info'] = $this->content_material_list('', '', $_content, '', ''); $info['newcontent'] = $info['content']; $info['allpages'] = $info['content']; if ($info['indexpic']) { $info['indexpic_url'] = unserialize($info['pic']); } $ret = $this->obj->getMaterialById($info['id']); if (!empty($ret)) { foreach ($ret as $k => $v) { $v['filesize'] = hg_bytes_to_size($v['filesize']); switch ($v['mark']) { case 'img': //将缩略图信息加入info数组 $info['material'][$v['id']] = $v; $info['material'][$v['id']]['path'] = $v['host'] . $v['dir']; $info['material'][$v['id']]['dir'] = $v['filepath']; $info['material'][$v['id']]['filename'] = $v['filename'] . '?' . hg_generate_user_salt(4); break; case 'doc': $info['material'][$v['id']] = $v; $info['material'][$v['id']]['path'] = $v['host'] . $v['dir']; $info['material'][$v['id']]['dir'] = $v['filepath']; $info['material'][$v['id']]['filename'] = $v['filename'] . '?' . hg_generate_user_salt(4); break; case 'real': $info['material'][$v['id']] = $v; break; default: break; } } } $info['newcontent'] = $info['newcontent']; $info['pubstatus'] = $info['state']; $info['status'] = $info['state'] ? 2 : 0; if ($this->input['need_process']) { $info['content'] = htmlspecialchars_decode($info['content']); $info['content'] = strip_tags($info['content'], '<p><br><a><img><div>'); $info['content'] = preg_replace('#<p[^>]*>#i', '<p>', $info['content']); } $support_type = $this->mater->get_allow_type(); $info['attach_support'] = implode(',', array_keys($support_type['doc'])); $info['img_support'] = implode(',', array_keys($support_type['img'])); } $newsinfo[] = $info; } $this->addItem($newsinfo); $this->output(); }
public function upload() { $material = $this->material->addMaterial($_FILES); if ($material) { $material['pic'] = array('host' => $material['host'], 'dir' => $material['dir'], 'filepath' => $material['filepath'], 'filename' => $material['filename']); $material['pic'] = serialize($material['pic']); $spe_mater = array('material_id' => $material['id'], 'material' => $material['pic'], 'name' => $material['name'], 'mark' => $material['mark'], 'type' => $material['type'], 'filesize' => $material['filesize'], 'ip' => $this->user['ip'], 'create_time' => TIMENOW); $this->obj->insert_data($spe_mater, "special_material"); $material['filesize'] = hg_bytes_to_size($material['filesize']); $return = array('success' => true, 'id' => $material['id'], 'filename' => $material['filename'] . '?' . hg_generate_user_salt(4), 'name' => $material['name'], 'mark' => $material['mark'], 'type' => $material['type'], 'filesize' => $material['filesize'], 'path' => $material['host'] . $material['dir'], 'dir' => $material['filepath'], 'pic' => $material['pic']); } else { $return = array('error' => '文件上传失败'); } $this->addItem($return); $this->output(); }
public function refer_detail() { if (!$this->input['id']) { $this->errorOutput(NOID); } $ret = array(); $sql = "SELECT * FROM " . DB_PREFIX . "vodinfo WHERE id = " . intval($this->input['id']); $info = $this->db->query_first($sql); $ret['type'] = "vod"; $ret['title'] = $info['title']; $ret['time'] = date('Y-m-d H:i', $info['create_time']); $ret['img'] = unserialize($info['img_info']); $ret['keywords'] = $info['keywords']; $info['totalsize'] = hg_bytes_to_size($info['totalsize']); $ret['size'] = $info['totalsize']; $ret['duration'] = hg_toff_time(0, $info['duration']); $ret['flashvars'] = array('startTime' => $info['start'], 'duration' => $info['duration'], 'videoUrl' => $info['hostwork'] . '/' . $info['video_path'] . str_replace('.mp4', '.m3u8', $info['video_filename']), 'snapUrl' => $this->settings['App_mediaserver']['protocol'] . $this->settings['App_mediaserver']['host'] . '/' . $this->settings['App_mediaserver']['dir'] . 'admin/snap.php', 'videoId' => intval($this->input['id']), 'aspect' => $info['aspect']); //如果是链接上传,返回原始链接和swf信息https://redmine.hoge.cn/issues/3531 if ($info['is_link']) { $ret['is_link'] = $info['is_link']; $ret['ori_url'] = $info['ori_url']; $ret['swf'] = $info['swf']; } //查询分类 $sql = "select * from " . DB_PREFIX . "vod_media_node where id = " . $info['vod_sort_id']; $sort_info = $this->db->query_first($sql); $ret['sort_name'] = $sort_info['name']; $this->addItem($ret); $this->output(); }
function upload_indexpic() { //外链索引图片 if (!$_FILES['indexpic']['error'] && is_array($_FILES['indexpic'])) { $material = parent::upload_indexpic(); if (!empty($material)) { /*$sql = "REPLACE INTO " . DB_PREFIX ."material SET "; $material['material_id'] = $material['id']; $material['pic'] = array( 'host' => $material['host'], 'dir' => $material['dir'], 'filepath' => $material['filepath'], 'filename' => $material['filename'], ); $material['pic'] = serialize($material['pic']); unset($material['bundle_id'], $material['mid'], $material['id'], $material['url']); $sql_extra = $space =''; foreach($material as $k => $v) { $sql_extra .= $space . $k . "='" . $v . "'"; $space = ','; } $this->db->query($sql . $sql_extra); */ $material['filesize'] = hg_bytes_to_size($material['filesize']); $material['success'] = true; $material['id'] = $material['material_id']; $this->addItem($material); } else { $return = array('success' => false, 'error' => '文件上传失败'); $this->addItem($return); } } else { $return = array('success' => false, 'error' => '文件上传失败'); $this->addItem($return); } $this->output(); }
public function upload() { if ($_FILES['Filedata']) { $typetmp = explode('.', $_FILES['Filedata']['name']); $filetype = strtolower($typetmp[count($typetmp) - 1]); $gMaterialType = $this->mater->check_cache(); $type = ''; if (!empty($gMaterialType)) { foreach ($gMaterialType as $k => $v) { if (in_array($filetype, $v)) { $type = $k; } } } if (empty($type)) { $return = array('success' => false, 'error' => '上传文件格式不正确'); return $return; } $material = $this->mater->addMaterial($_FILES, 0); //插入各类服务器 if (!empty($material)) { $sql = "REPLACE INTO " . DB_PREFIX . "material SET "; $material['material_id'] = $material['id']; unset($material['bundle_id'], $material['mid'], $material['id'], $material['url']); $sql_extra = $space = ''; foreach ($material as $k => $v) { $sql_extra .= $space . $k . "='" . $v . "'"; $space = ','; } $this->db->query($sql . $sql_extra); //图片信息返回后,更新内容标签 $material['filesize'] = hg_bytes_to_size($material['filesize']); switch ($type) { case 'img': $ret = array('success' => true, 'id' => $material['material_id'], 'filename' => $material['filename'], 'name' => $material['name'], 'mark' => 'img', 'type' => $filetype, 'filesize' => $material['filesize'], 'path' => $material['host'] . $material['dir'], 'dir' => $material['filepath']); break; case 'doc': $ret = array('success' => true, 'id' => $material['material_id'], 'filename' => $material['filename'], 'name' => $material['name'], 'mark' => 'doc', 'type' => $filetype, 'filesize' => $material['filesize'], 'url' => MATERIAL_TYPE_THUMB . 'doc.png'); break; case 'real': $ret = array('success' => true, 'id' => $material['material_id'], 'filename' => $material['filename'], 'name' => $material['name'], 'mark' => 'real', 'type' => $filetype, 'filesize' => $material['filesize']); break; default: break; } return $ret; } else { $return = array('success' => false, 'error' => '文件上传失败'); return $return; } } }