public function index() { $size = $this->input->get('size'); $arr = explode('/picdata/', REQUEST_URI); if (empty($arr[1])) { header("location:" . piclink('pic', '')); exit; } $arr[1] = 'attachment/' . $arr[1]; $arrs = explode('?', $arr[1]); $files = FCPATH . $arrs[0]; if (!file_exists($files)) { header("location:" . piclink('pic', '')); exit; } if (!empty($size)) { $wh = explode('*', $size); $w = intval($wh[0]); $h = intval($wh[1]); if ($w > 800 || $h > 800) { $w = 0; $h = 0; } } else { $w = 0; $h = 0; } //没有缩放或者超过800则直接转向指定图片 if ($w == 0 && $h == 0) { header("location:http://" . Web_Url . Web_Path . $arrs[0]); exit; } //判断缓存是否存在 $file_ext = strtolower(trim(substr(strrchr($arrs[0], '.'), 1))); $cachedir = 'cache/suo_pic/' . str_replace("attachment/", "", $arrs[0]) . '_' . $w . '_' . $h . '.' . $file_ext; $cachedir = str_replace("//", "/", $cachedir); if (file_exists(FCPATH . $cachedir)) { //会员头像1小时更新一次 if (strpos($arrs[0], '/logo/') === FALSE || time() - filemtime(FCPATH . $cachedir) < 3600) { header("location:http://" . Web_Url . Web_Path . $cachedir); exit; } } //创建缓存文件夹 $temp = pathinfo(FCPATH . $cachedir); mkdirss($temp["dirname"]); $params['file'] = $files; $params['cache'] = FCPATH . $cachedir; //加载库类 $this->load->library('slpic', $params); //生成图片 $this->slpic->resize($w, $h); }
public function picsave() { $filename = $this->upload('bgpic'); $bgpic = getzd('user', 'bgpic', $_SESSION['cscms__id']); //删除原来的图片 $this->load->library('csup'); $this->csup->del($bgpic, 'bgpic'); //删除附件 $edit['bgpic'] = date('Ym') . '/' . date('d') . '/' . $filename; $this->CsdjDB->get_update('user', $_SESSION['cscms__id'], $edit); $pic = piclink('bgpic', $edit['bgpic']) . '?size=720*186'; echo '<script type="text/javascript"> parent.do_alert("' . L('web_04') . '"); parent.$(".file_working").hide(); parent.$(".banner_clip").show(); parent.$(".banner_clip").css("background","url(' . $pic . ')"); </script>'; }
public function cscms_skins($field, $str, $label, $row, $sorti = 1, $autoarr = array()) { preg_match_all('/\\[' . $field . ':\\s*([0-9a-zA-Z\\_\\-]+)([\\s]*[link|ulink|dir|level|zd|len|style]*)[=]??([\\d0-9a-zA-Z\\,\\{\\}\\/\\-\\\\:\\s]*)\\]/', $str, $field_arr); if (!empty($field_arr)) { //判断是否嵌套二级 preg_match('/{cscmstype:([\\S]+)\\s+(.*?)}([\\s\\S]+?){\\/cscmstype:\\1}/', $label, $type_arr); if (!empty($type_arr)) { $label = $this->cscms_sql_to($type_arr[1], $type_arr[2], $type_arr[0], $type_arr[3], $label, $row['id']); } unset($type_arr); for ($i = 0; $i < count($field_arr[0]); $i++) { $type = $field_arr[1][$i]; if (array_key_exists($type, $row) && trim($field_arr[2][$i]) != 'zd') { if ($type == 'addtime') { $label = str_replace('[' . $field . ':' . $type . ']', date('Y-m-d H:i:s', $row[$type]), $label); } else { $label = str_replace('[' . $field . ':' . $type . ']', $row[$type], $label); } //判断自定义标签 if (!empty($field_arr[2][$i]) && !empty($field_arr[3][$i])) { //格式化时间 if (trim($field_arr[2][$i]) == 'style' && trim($field_arr[3][$i]) == 'time') { $label = str_replace($field_arr[0][$i], datetime($row[$type]), $label); //获取IP地区 } elseif (trim($field_arr[2][$i]) == 'style' && trim($field_arr[3][$i]) == 'city') { $ci =& get_instance(); $ci->load->library('ip'); $label = str_replace($field_arr[0][$i], $ci->ip->address($row[$type]), $label); //自定义时间 } elseif (trim($field_arr[2][$i]) == 'style') { $label = str_replace($field_arr[0][$i], date(str_replace('f', 'i', $field_arr[3][$i]), $row[$type]), $label); //图片地址 } elseif (trim($field_arr[2][$i]) == 'dir') { $lall = explode(",", $field_arr[3][$i]); $lass = count($lall) > 1 ? $lall[1] : ''; $pic = piclink($lall[0], $row[$type], $lass); $label = str_replace($field_arr[0][$i], $pic, $label); } //字符截取 if (trim($field_arr[2][$i]) == 'len') { $label = str_replace($field_arr[0][$i], sub_str(str_checkhtml($row[$type]), $field_arr[3][$i]), $label); } } } else { //外部字段 switch ($type) { //序 case 'i': $label = str_replace($field_arr[0][$i], $sorti, $label); break; //序 //序 case 'addres': if (trim($field_arr[2][$i]) == 'zd' && !empty($field_arr[3][$i]) && array_key_exists($field_arr[3][$i], $row)) { $zd = $field_arr[3][$i]; $ci =& get_instance(); $ci->load->library('ip'); $label = str_replace($field_arr[0][$i], $ci->ip->address($row[$zd]), $label); } break; //数据统计 //数据统计 case 'count': if (trim($field_arr[2][$i]) == 'zdy' && !empty($field_arr[3][$i])) { $count = 0; $arr = explode(',', $field_arr[3][$i]); $table = $arr[0]; $czd = empty($arr[1]) ? 'id' : $arr[1]; $szd = empty($arr[2]) ? 'id' : $arr[2]; if (array_key_exists($szd, $row)) { $ci =& get_instance(); if (!isset($ci->db)) { $ci->load->database(); } $uid = !empty($row[$szd]) ? $row[$szd] : (!empty($row['uid']) ? $row['uid'] : 0); if (!empty($table) && $ci->db->table_exists(CS_SqlPrefix . $table) && $ci->db->field_exists($czd, CS_SqlPrefix . $table)) { if (!empty($arr[3]) && (!empty($arr[4]) || (int) $arr[4] == 0)) { if ($ci->db->field_exists($arr[3], CS_SqlPrefix . $table)) { $count = $ci->db->query("SELECT id FROM " . CS_SqlPrefix . $table . " where " . $czd . "='" . $uid . "' and " . $arr[3] . "='" . $arr[4] . "'")->num_rows(); } } else { $count = $ci->db->query("SELECT id FROM " . CS_SqlPrefix . $table . " where " . $czd . "='" . $uid . "'")->num_rows(); } } } $label = str_replace($field_arr[0][$i], $count, $label); } break; //会员信息 //会员信息 case 'user': if (($field == 'user' or array_key_exists('uid', $row) or array_key_exists('uidb', $row)) && trim($field_arr[2][$i]) == 'zd' && !empty($field_arr[3][$i])) { $ci =& get_instance(); if (!isset($ci->db)) { $ci->load->database(); } $ziduan = $field_arr[3][$i]; $zdneir = ($field == 'gbook' or $field == 'pl') ? '游客' : 'null'; if ($field == 'user') { $uid = $row['id']; } else { $lall = explode(",", $ziduan); if (!empty($lall[1])) { $uid = !empty($lall[1]) ? $lall[1] : 0; $ziduan = $lall[1]; } else { if (!empty($row['uid'])) { $uid = $row['uid']; } else { $uid = !empty($row['uidb']) ? $row['uidb'] : 0; } } } $czd = $ziduan == 'nichen' ? $ziduan . ',name' : $ziduan; if ($ci->db->field_exists($ziduan, CS_SqlPrefix . 'user')) { $rowu = $ci->db->query("SELECT " . $czd . " FROM " . CS_SqlPrefix . "user where id='" . $uid . "'")->row(); if ($rowu) { $zdneir = $field_arr[3][$i] == 'nichen' && empty($rowu->{$ziduan}) ? $rowu->name : $rowu->{$ziduan}; } } if ($ziduan == 'logo') { if ($uid == 0) { $zdneir = ''; } $zdneir = piclink('logo', $zdneir); } if ($ziduan == 'zid') { if ($zdneir == 0) { $zdneir = 1; } $zdneir = getzd('userzu', 'name', $zdneir); } if ($ziduan == 'qianm') { if (empty($zdneir)) { $zdneir = '暂时没有签名...'; } } if ($ziduan == 'city') { if (empty($zdneir)) { $zdneir = '保密'; } } $label = str_replace($field_arr[0][$i], $zdneir, $label); //会员等级 } elseif (($field == 'user' or array_key_exists('uid', $row) or array_key_exists('uidb', $row)) && trim($field_arr[2][$i]) == 'level' && !empty($field_arr[3][$i])) { $zdneir = ''; if ($field == 'user') { $uid = $row['id']; } else { $uid = !empty($row['uid']) ? $row['uid'] : (!empty($row['uidb']) ? $row['uidb'] : 0); } $jinyan = getzd('user', 'jinyan', $uid); if ($field_arr[3][$i] == '1') { //星星数 $zdneir = getlevel($jinyan, 1); } if ($field_arr[3][$i] == '2') { //下个级别需要经验 $zdneir = getlevel($jinyan, 2); } if ($field_arr[3][$i] == '3') { //下个级别剩余经验 $zdneir = getlevel($jinyan, 3); } if ($field_arr[3][$i] == '4') { //剩余百分比 $zdneir = getlevel($jinyan, 4); } if ($field_arr[3][$i] == '5') { //名称 $zdneir = getlevel($jinyan, 5); } $label = str_replace($field_arr[0][$i], $zdneir, $label); } break; //歌手信息 //歌手信息 case 'singer': if (array_key_exists('singerid', $row) && trim($field_arr[2][$i]) == 'zd' && !empty($field_arr[3][$i])) { $ci =& get_instance(); if (!isset($ci->db)) { $ci->load->database(); } $zdneir = 'null'; if ($ci->db->table_exists(CS_SqlPrefix . 'singer')) { //歌手表存在 $ziduan = $field_arr[3][$i]; if ($ci->db->field_exists($ziduan, CS_SqlPrefix . 'singer')) { $rows = $ci->db->query("SELECT " . $ziduan . " FROM " . CS_SqlPrefix . "singer where id='" . $row['singerid'] . "'")->row(); if ($rows) { $zdneir = $rows->{$ziduan}; } } if ($ziduan == 'pic') { if ($row['singerid'] == 0) { $zdneir = ''; } $zdneir = piclink('singer', $zdneir); } } $label = str_replace($field_arr[0][$i], $zdneir, $label); } break; //版块链接 //版块链接 case 'murl': if (array_key_exists('dir', $row)) { $link = cscmslink($row['dir']); $label = str_replace($field_arr[0][$i], $link, $label); } break; //网站链接 //网站链接 case 'url': //全局 if (array_key_exists('id', $row) && trim($field_arr[2][$i]) == 'link' && !empty($field_arr[3][$i])) { $lall = explode(",", $field_arr[3][$i]); $lass = count($lall) > 1 ? $lall[1] : ''; $link = linkurl($lall[0], $lass, $row['id']); $label = str_replace($field_arr[0][$i], $link, $label); } //会员 if ((array_key_exists('uid', $row) || array_key_exists('uidb', $row) || $field == 'user') && trim($field_arr[2][$i]) == 'ulink' && !empty($field_arr[3][$i])) { $ci =& get_instance(); if (!isset($ci->db)) { $ci->load->database(); } $link = ''; if ($field == 'user') { if (array_key_exists('id', $row) && array_key_exists('name', $row)) { $lall = explode(",", $field_arr[3][$i]); $lass = count($lall) > 1 ? $lall[1] : ''; $link = userlink($lall[0], $row['id'], $row['name'], $lass); } } else { $uid = !empty($row['uid']) ? $row['uid'] : (!empty($row['uidb']) ? $row['uidb'] : 0); $rowu = $ci->db->query("SELECT id,name FROM " . CS_SqlPrefix . "user where id='" . $uid . "'")->row(); if (!$rowu) { $link = 'http://' . Web_Url . Web_Path; } else { $lall = explode(",", $field_arr[3][$i]); $lass = count($lall) > 1 ? $lall[1] : ''; $link = userlink($lall[0], $rowu->id, $rowu->name, $lass); } } $label = str_replace($field_arr[0][$i], $link, $label); } //会员中心... if (trim($field_arr[2][$i]) == 'userlink' && !empty($field_arr[3][$i])) { $link = spacelink($field_arr[3][$i]); $label = str_replace($field_arr[0][$i], $link, $label); } //自定义URL,板块,字段,参数,参数... if (trim($field_arr[2][$i]) == 'zdy' && !empty($field_arr[3][$i])) { $lall = explode(",", $field_arr[3][$i]); if (!array_key_exists($lall[1], $row) || $row[$lall[1]] == 0) { $link = 'http://' . Web_Url . Web_Path; } else { $lass = count($lall) > 3 ? $lall[3] : ''; $link = linkurl($lall[2], $lass, $row[$lall[1]], 1, $lall[0]); } $label = str_replace($field_arr[0][$i], $link, $label); } break; } } } } unset($field_arr); return $label; }
public function downpic() { $page = intval($this->input->get('page')); $pagejs = intval($this->input->get('pagejs')); $sql_string = "SELECT id,pic FROM " . CS_SqlPrefix . "vod where hid=0 and yid=0 and Lower(Left(pic,7))='http://' order by addtime desc"; $query = $this->db->query($sql_string); $total = $query->num_rows(); if ($page > $pagejs || $total == 0) { admin_msg('恭喜您,所有远程图片全部同步完成~!', site_url('vod/admin/vod'), 'ok'); //操作完成 } if ($page == 0) { $page = 1; } $per_page = 20; $totalPages = ceil($total / $per_page); // 总页数 if ($total < $per_page) { $per_page = $total; } if ($pagejs == 0) { $pagejs = $totalPages; } $sql_string .= ' limit 20'; $query = $this->db->query($sql_string); //保存目录 if (UP_Mode == 1 && UP_Pan != '') { $pathpic = UP_Pan . '/attachment/vod/' . date('Ym') . '/' . date('d') . '/'; $pathpic = str_replace("//", "/", $pathpic); } else { $pathpic = FCPATH . 'attachment/vod/' . date('Ym') . '/' . date('d') . '/'; } if (!is_dir($pathpic)) { mkdirss($pathpic); } $this->load->library('watermark'); $this->load->library('csup'); echo '<LINK href="' . Web_Path . 'packs/admin/css/style.css" type="text/css" rel="stylesheet"><br>'; echo "<div style='font-size:14px;'> <b>正在开始同步第<font style='color:red; font-size:12px; font-style:italic'>" . $page . "</font>页,共<font style='color:red; font-size:12px; font-style:italic'>" . $pagejs . "</font>页,剩<font style='color:red; font-size:12px; font-style:italic'>" . $totalPages . "</font>页</b><br><br>"; foreach ($query->result() as $row) { $up = 'no'; if (!empty($row->pic)) { $picdata = htmlall($row->pic); $file_ext = strtolower(trim(substr(strrchr($row->pic, '.'), 1))); if ($file_ext != 'jpg' && $file_ext != 'png' && $file_ext != 'gif') { $file_ext = 'jpg'; } //新文件名 $file_name = date("YmdHis") . rand(10000, 99999) . '.' . $file_ext; $file_path = $pathpic . $file_name; if (!empty($picdata)) { //保存图片 if (write_file($file_path, $picdata)) { $up = 'ok'; //判断水印 if (CS_WaterMark == 1) { $this->watermark->imagewatermark($file_path); } //判断上传方式 $res = $this->csup->up($file_path, $file_name); if (!$res) { $up = 'no'; } } } } //成功 if ($up == 'ok') { //修改数据库 $this->db->query("update " . CS_SqlPrefix . "vod set pic='/" . date('Ym') . "/" . date('d') . "/" . $file_name . "' where id=" . $row->id . ""); echo " 同步<font color=red>" . $row->pic . "</font> 图片成功! 新图片名:<a href=\"" . piclink('vod', '/' . date('Ym') . '/' . date('d') . '/' . $file_name) . "\" target=_blank>" . $file_name . "</a></br>"; } else { //修改数据库 $this->db->query("update " . CS_SqlPrefix . "vod set pic='' where id=" . $row->id . ""); echo " <font color=red>" . $row->pic . "</font>远程图片不存在!</br>"; } ob_flush(); flush(); } echo " 第" . $page . "页图片同步完毕,暂停3秒后继续同步......<script language='javascript'>setTimeout('ReadGo();'," . 3000 . ");function ReadGo(){location.href='" . site_url('vod/admin/opt/downpic') . "?page=" . ($page + 1) . "&pagejs=" . $pagejs . "';}</script></div>"; }
public function index($fid = 'id', $id = 0) { $id = intval($fid) > 0 ? intval($fid) : intval($id); //ID //判断ID if ($id == 0) { msg_url('出错了,ID不能为空!', Web_Path); } //获取数据 $row = $this->CsdjDB->get_row_arr('pic_type', '*', $id); if (!$row || $row['yid'] > 0 || $row['hid'] > 0) { msg_url('出错了,该数据不存在或者没有审核!', Web_Path); } //判断运行模式,生成则跳转至静态页面 $html = config('Html_Uri'); if (config('Web_Mode') == 3 && $html['show']['check'] == 1) { //获取静态路径 $Htmllink = LinkUrl('show', $fid, $id, 0, 'pic'); header("Location: " . $Htmllink); exit; } //摧毁部分需要超级链接字段数组 $rows = $row; //先保存数组保留下面使用 unset($row['tags']); //获取当前分类下二级分类ID $arr['cid'] = getChild($row['cid']); $arr['uid'] = $row['uid']; $arr['tags'] = $rows['tags']; $arr['sid'] = $row['id']; //默认模板 $skins = empty($row['skins']) ? 'show.html' : $row['skins']; //装载模板并输出 $Mark_Text = $this->CsdjTpl->plub_show('pic', $row, $arr, TRUE, $skins, $row['name'], $row['name']); //评论 $Mark_Text = str_replace("[pic:pl]", get_pl('pic', $id), $Mark_Text); //分类地址、名称 $Mark_Text = str_replace("[pic:link]", LinkUrl('show', 'id', $row['id'], 1, 'pic'), $Mark_Text); $Mark_Text = str_replace("[pic:classlink]", LinkUrl('lists', 'id', $row['cid'], 1, 'pic'), $Mark_Text); $Mark_Text = str_replace("[pic:classname]", $this->CsdjDB->getzd('pic_list', 'name', $row['cid']), $Mark_Text); //获取上下张 preg_match_all('/[pic:slink]/', $Mark_Text, $arr); if (!empty($arr[0]) && !empty($arr[0][0])) { $rowd = $this->db->query("Select id,cid,pic,name from " . CS_SqlPrefix . "pic_type where yid=0 and hid=0 and id<" . $id . " order by id desc limit 1")->row(); if ($rowd) { $Mark_Text = str_replace("[pic:slink]", LinkUrl('show', 'id', $rowd->id, 1, 'pic'), $Mark_Text); $Mark_Text = str_replace("[pic:sname]", $rowd->name, $Mark_Text); $Mark_Text = str_replace("[pic:sid]", $rowd->id, $Mark_Text); $Mark_Text = str_replace("[pic:spic]", piclink('pic', $rowd->pic), $Mark_Text); } else { $Mark_Text = str_replace("[pic:slink]", "#", $Mark_Text); $Mark_Text = str_replace("[pic:sname]", "没有了", $Mark_Text); $Mark_Text = str_replace("[pic:sid]", 0, $Mark_Text); $Mark_Text = str_replace("[pic:spic]", piclink('pic', ''), $Mark_Text); } } unset($arr); preg_match_all('/[pic:xlink]/', $Mark_Text, $arr); if (!empty($arr[0]) && !empty($arr[0][0])) { $rowd = $this->db->query("Select id,cid,pic,name from " . CS_SqlPrefix . "pic_type where yid=0 and hid=0 and id>" . $id . " order by id asc limit 1")->row(); if ($rowd) { $Mark_Text = str_replace("[pic:xlink]", LinkUrl('show', 'id', $rowd->id, 1, 'pic'), $Mark_Text); $Mark_Text = str_replace("[pic:xname]", $rowd->name, $Mark_Text); $Mark_Text = str_replace("[pic:xid]", $rowd->id, $Mark_Text); $Mark_Text = str_replace("[pic:xpic]", piclink('pic', $rowd->pic), $Mark_Text); } else { $Mark_Text = str_replace("[pic:xlink]", "#", $Mark_Text); $Mark_Text = str_replace("[pic:xname]", "没有了", $Mark_Text); $Mark_Text = str_replace("[pic:xid]", 0, $Mark_Text); $Mark_Text = str_replace("[pic:xpic]", piclink('pic', ''), $Mark_Text); } } unset($arr); //标签加超级连接 $Mark_Text = str_replace("[pic:tags]", SearchLink($rows['tags']), $Mark_Text); //获取当前相册总数 $pcount = $this->db->query("Select id from " . CS_SqlPrefix . "pic where sid=" . $id . " and hid=0 and yid=0")->num_rows(); $Mark_Text = str_replace("[pic:count]", $pcount, $Mark_Text); //第一张图片 $rowp = $this->db->query("Select pic,content from " . CS_SqlPrefix . "pic where sid=" . $id . " and hid=0 and yid=0 order by id desc limit 1")->row(); $pics = $rowp ? $rowp->pic : ''; $content = $rowp ? $rowp->content : ''; $Mark_Text = str_replace("[pic:url]", piclink('pic', $pics), $Mark_Text); $Mark_Text = str_replace("[pic:content]", $content, $Mark_Text); //增加人气 $Mark_Text = hits_js($Mark_Text, hitslink('hits/ids/' . $id, 'pic')); echo $Mark_Text; $this->cache->end(); //由于前面不是直接输出,所以这里需要加入写缓存 }
public function show_save() { if ($this->huri['show']['check'] == 0) { admin_msg('相册内容页未开启生成~!', 'javascript:history.back();', 'no'); } $day = intval($this->input->get_post('day', true)); //最近几天 $ids = $this->input->get_post('ids', true); //需要生成的数据ID $cid = $this->input->get_post('cid', true); //需要生成的分类ID $newid = intval($this->input->get_post('newid')); //最新个数 $ksid = intval($this->input->get_post('ksid')); //开始ID $jsid = intval($this->input->get_post('jsid')); //结束ID $kstime = $this->input->get_post('kstime', true); //开始日期 $jstime = $this->input->get_post('jstime', true); //结束日期 $pagesize = intval($this->input->get('pagesize')); //每页多少条 $pagejs = intval($this->input->get('pagejs')); //总页数 $datacount = intval($this->input->get('datacount')); //数据总数 $page = intval($this->input->get('page')); //当前页 if ($page == 0) { $page = 1; } $str = ''; //将数组转换成字符 if (is_array($cid)) { $cid = implode(',', $cid); } if (is_array($ids)) { $ids = implode(',', $ids); } if ($day > 0) { $times = time() - 86400 * $day; $str .= ' and addtime>' . $times . ''; } if (!empty($cid)) { $str .= ' and cid in (' . $cid . ')'; } if (!empty($ids)) { $str .= ' and id in (' . $ids . ')'; } if ($ksid > 0 && $jsid > 0) { $str .= ' and id>' . ($ksid - 1) . ' and id<' . ($jsid + 1) . ''; } if (!empty($kstime) && !empty($jstime)) { $ktime = strtotime($kstime) - 86400; $jtime = strtotime($jstime) + 86400; $str .= ' and addtime>' . $ktime . ' and addtime<' . $jtime . ''; } $limit = ''; if ($newid > 0) { $limit = ' order by id desc limit ' . $newid; } if ($datacount == 0) { $sqlstr = "select id from " . CS_SqlPrefix . "pic_type where yid=0 and hid=0 " . $str . $limit; $datacount = $this->db->query($sqlstr)->num_rows(); //总数量 $pagejs = ceil($datacount / Html_PageNum); } if ($datacount == 0) { $pagejs = 1; } $pagesize = Html_PageNum; if ($datacount < $pagesize) { $pagesize = $datacount; } //全部生成完毕 if ($page > $pagejs) { admin_msg('所有内容页全部生成完毕~!', site_url('pic/admin/html/show')); } //公众URI $uri = '?day=' . $day . '&cid=' . $cid . '&ids=' . $ids . '&newid=' . $newid . '&ksid=' . $ksid . '&jsid=' . $jsid . '&kstime=' . $kstime . '&jstime=' . $jstime . '&pagesize=' . $pagesize . '&pagejs=' . $pagejs . '&datacount=' . $datacount; //重新定义模板路径 $this->load->get_templates('pic', 2); echo '<LINK href="' . base_url() . 'packs/admin/css/style.css" type="text/css" rel="stylesheet"><br>'; echo ' <b>正在开始生成相册内容,分<font color=red>' . $pagejs . '</font>次生成,当前第<font color=red>' . $page . '</font>次</b><br/>'; $sql_string = "select * from " . CS_SqlPrefix . "pic_type where yid=0 and hid=0 " . $str . " order by id desc"; $sql_string .= ' limit ' . $pagesize * ($page - 1) . ',' . $pagesize; $query = $this->db->query($sql_string); //获取内容页是否需要生成 $html = config('Html_Uri', 'pic'); foreach ($query->result_array() as $row) { ob_end_flush(); //关闭缓存 $id = $row['id']; //获取静态路径 $Htmllinks = LinkUrl('show', 'id', $row['id'], 0, 'pic'); //转换成生成路径 $Htmllink = adminhtml($Htmllinks, 'pic'); //摧毁部分需要超级链接字段数组 $rows = $row; //先保存数组保留下面使用 unset($row['tags']); unset($row['hits']); unset($row['yhits']); unset($row['zhits']); unset($row['rhits']); unset($row['dhits']); unset($row['chits']); unset($row['content']); //默认模板 $skins = empty($row['skins']) ? 'show.html' : $row['skins']; $arr['cid'] = getChild($row['cid']); $arr['uid'] = $row['uid']; $arr['tags'] = $rows['tags']; $arr['sid'] = $row['id']; //装载模板并输出 $Mark_Text = $this->CsdjTpl->plub_show('pic', $row, $arr, TRUE, $skins, $row['name'], $row['name']); //评论 $Mark_Text = str_replace("[pic:pl]", get_pl('pic', $id), $Mark_Text); //分类地址、名称 $Mark_Text = str_replace("[pic:link]", LinkUrl('show', 'id', $row['id'], 1, 'pic'), $Mark_Text); $Mark_Text = str_replace("[pic:classlink]", LinkUrl('lists', 'id', $row['cid'], 1, 'pic'), $Mark_Text); $Mark_Text = str_replace("[pic:classname]", $this->CsdjDB->getzd('pic_list', 'name', $row['cid']), $Mark_Text); //获取上下篇 preg_match_all('/[pic:slink]/', $Mark_Text, $arr); if (!empty($arr[0]) && !empty($arr[0][0])) { $rowd = $this->db->query("Select id,cid,pic,name from " . CS_SqlPrefix . "pic_type where yid=0 and hid=0 and id<" . $id . " order by id desc limit 1")->row(); if ($rowd) { $Mark_Text = str_replace("[pic:slink]", LinkUrl('show', 'id', $rowd->id, 1, 'pic'), $Mark_Text); $Mark_Text = str_replace("[pic:sname]", $rowd->name, $Mark_Text); $Mark_Text = str_replace("[pic:sid]", $rowd->id, $Mark_Text); $Mark_Text = str_replace("[pic:spic]", piclink('pic', $rowd->pic), $Mark_Text); } else { $Mark_Text = str_replace("[pic:slink]", "#", $Mark_Text); $Mark_Text = str_replace("[pic:sname]", "没有了", $Mark_Text); $Mark_Text = str_replace("[pic:sid]", 0, $Mark_Text); $Mark_Text = str_replace("[pic:spic]", piclink('pic', ''), $Mark_Text); } } unset($arr); preg_match_all('/[pic:xlink]/', $Mark_Text, $arr); if (!empty($arr[0]) && !empty($arr[0][0])) { $rowd = $this->db->query("Select id,cid,pic,name from " . CS_SqlPrefix . "pic_type where yid=0 and hid=0 and id>" . $id . " order by id asc limit 1")->row(); if ($rowd) { $Mark_Text = str_replace("[pic:xlink]", LinkUrl('show', 'id', $rowd->id, 1, 'pic'), $Mark_Text); $Mark_Text = str_replace("[pic:xname]", $rowd->name, $Mark_Text); $Mark_Text = str_replace("[pic:xid]", $rowd->id, $Mark_Text); $Mark_Text = str_replace("[pic:xpic]", piclink('pic', $rowd->pic), $Mark_Text); } else { $Mark_Text = str_replace("[pic:xlink]", "#", $Mark_Text); $Mark_Text = str_replace("[pic:xname]", "没有了", $Mark_Text); $Mark_Text = str_replace("[pic:xid]", 0, $Mark_Text); $Mark_Text = str_replace("[pic:xpic]", piclink('pic', ''), $Mark_Text); } } unset($arr); //标签加超级连接 $Mark_Text = str_replace("[pic:tags]", SearchLink($rows['tags']), $Mark_Text); //动态人气 $Mark_Text = str_replace("[pic:hits]", "<script src='" . hitslink('hits/dt/hits/' . $id, 'pic') . "'></script>", $Mark_Text); $Mark_Text = str_replace("[pic:yhits]", "<script src='" . hitslink('hits/dt/yhits/' . $id, 'pic') . "'></script>", $Mark_Text); $Mark_Text = str_replace("[pic:zhits]", "<script src='" . hitslink('hits/dt/zhits/' . $id, 'pic') . "'></script>", $Mark_Text); $Mark_Text = str_replace("[pic:rhits]", "<script src='" . hitslink('hits/dt/rhits/' . $id, 'pic') . "'></script>", $Mark_Text); $Mark_Text = str_replace("[pic:dhits]", "<script src='" . hitslink('hits/dt/dhits/' . $id, 'pic') . "'></script>", $Mark_Text); $Mark_Text = str_replace("[pic:chits]", "<script src='" . hitslink('hits/dt/chits/' . $id, 'pic') . "'></script>", $Mark_Text); //获取当前相册总数 $pcount = $this->db->query("Select id from " . CS_SqlPrefix . "pic where sid=" . $id . " and hid=0 and yid=0")->num_rows(); $Mark_Text = str_replace("[pic:count]", $pcount, $Mark_Text); //第一张图片 $rowp = $this->db->query("Select pic,content from " . CS_SqlPrefix . "pic where sid=" . $id . " and hid=0 and yid=0 order by id desc limit 1")->row(); $pics = $rowp ? $rowp->pic : ''; $content = $rowp ? $rowp->content : ''; $Mark_Text = str_replace("[pic:url]", piclink('pic', $pics), $Mark_Text); $Mark_Text = str_replace("[pic:content]", $content, $Mark_Text); //增加人气 $Mark_Text = hits_js($Mark_Text, hitslink('hits/ids/' . $id, 'pic')); //生成 write_file(FCPATH . $Htmllink, $Mark_Text); echo " <font style=font-size:10pt;>生成相册:<font color=red>" . $row['name'] . "</font>成功:<a href=" . $Htmllinks . " target=_blank>" . $Htmllinks . "</a></font><br/>"; ob_flush(); flush(); } if (!empty($ids)) { $url = 'javascript:history.back();'; $str = " <b>全部生成完毕 >>>> <a href='" . $url . "'>如果您的 浏览器没有跳转,请点击继续...</a></b>"; } else { $url = site_url('pic/admin/html/show_save') . $uri . '&page=' . ($page + 1); $str = " <b>暂停" . Html_StopTime . "秒后继续 >>>> <a href='" . $url . "'>如果您的 浏览器没有跳转,请点击继续...</a></b>"; } echo "</br>" . $str . "<script>setTimeout('updatenext();'," . Html_StopTime . "000);function updatenext(){location.href='" . $url . "';}</script>"; }
public function cais() { header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); if (empty($_SERVER['HTTP_REFERER'])) { exit('QQ:848769359'); } $id = intval($this->input->get_post('id', TRUE)); $callback = $this->input->get('callback', true); $lists = array(); $row2 = $this->db->query("select cid from " . CS_SqlPrefix . "dance where id='" . $id . "'")->row(); $result2 = $this->db->query("select id,singerid,name,tid,fid,purl,sc,lrc from " . CS_SqlPrefix . "dance where cid=" . $row2->cid . " and yid=0 and hid=0 order by rand() desc LIMIT 10"); $j = 0; foreach ($result2->result() as $row) { $lrc = str_checkhtml($row->lrc); if (empty($lrc)) { $lrc = '0'; } $tpic = piclink('dancetopic', ''); $topic = '-'; $topiclink = '###'; if ($row->tid > 0) { $rowt = $this->db->query("select id,pic,name from " . CS_SqlPrefix . "dance_topic where id=" . $row->tid . "")->row(); if ($rowt) { $topiclink = LinkUrl('topic/show', 'id', $row->tid, 1, 'dance'); $tpic = piclink('dancetopic', $rowt->pic); $topic = $rowt->name; } } $purl = $row->purl; if ($row->fid > 0) { $rowf = $this->db->query("Select purl from " . CS_SqlPrefix . "dance_server where id=" . $row->fid . "")->row(); if ($rowf) { $purl = $rowf->purl . $row->purl; } } $singer = getzd('singer', 'name', $row->singerid); $lists[$j]['name'] = get_bm($row->name, 'gbk', 'utf-8'); $lists[$j]['singer'] = empty($singer) ? '' : get_bm($singer, 'gbk', 'utf-8'); $lists[$j]['singerlink'] = LinkUrl('show', 'id', $row->singerid, 1, 'singer'); $lists[$j]['downlink'] = LinkUrl('down', 'id', $row->id, 1, 'dance'); $lists[$j]['tpic'] = $tpic; $lists[$j]['topic'] = get_bm($topic, 'gbk', 'utf-8'); $lists[$j]['topiclink'] = $topiclink; $lists[$j]['url'] = get_bm($purl, 'gbk', 'utf-8'); $lists[$j]['id'] = $row->id; $lists[$j]['time'] = $this->get_time($row->sc); $lists[$j]['lrc'] = get_bm($lrc, 'gbk', 'utf-8'); $j++; } echo $callback . "(" . json_encode($lists) . ")"; }