function doupdateHTML() { $id = (int) $_GET['id']; $name = isset($_GET['name']) ? rawurldecode($_GET['name']) : ''; $cpage = isset($_GET['cpage']) ? $_GET['cpage'] : 1; $loop = isset($_GET['loop']) ? $_GET['loop'] : 0; if ($cpage == 1) { $rs = iCMS_DB::getRow("SELECT `name`,`status` FROM `#iCMS@__tags` WHERE `id` ='{$id}' and `status`='1'"); empty($rs) && javascript::alert("禁用的标签,不能生成静态."); tags_cache($id); $name = $rs->name; } include iPATH . 'include/iHtml.class.php'; $c = iHtml::Tag($name, $cpage, $loop, 0); if ($c['loop'] > 0 && $c['page'] <= $c['pagesize']) { javascript::dialog($c['name'] . "共" . $c['pagesize'] . "页,已生成" . $c['page'] . "页", 'src:' . __SELF__ . '?mo=tag&do=updateHTML&name=' . rawurlencode($name) . '&cpage=' . $c['page'] . '&loop=' . ($c['loop'] - 1), 'ok', 0); } else { javascript::dialog("标签更新完毕!", 'url:1'); } }
function doupdateHTML() { !$_GET['id'] && javascript::alert("请选择要更新的项目"); $mid = (int) $_GET['mid']; $table = model::tbn($_GET['table']); include iPATH . 'include/iHtml.class.php'; iHtml::content($_GET['id'], $mid, $table) && javascript::dialog('更新完成!', "url:1"); }
function doupdateHTMLs() { empty($_POST['id']) && javascript::alert("请选择要更新的文章"); $i = 0; include iPATH . 'include/iHtml.class.php'; foreach ((array) $_POST['id'] as $aid) { iHtml::Article($aid) && $i++; } javascript::dialog($i . '个文件更新完成!', "url:1"); }
function doCreateTag() { $speed = 25; //生成速度 $sids = $this->PG('sortid'); $startid = (int) $this->PG('startid'); $endid = (int) $this->PG('endid'); $starttime = $this->PG('starttime'); $endtime = $this->PG('endtime'); $cpageNum = 0; //$_GET['cpn']; $totle = isset($_GET['totle']) ? $_GET['totle'] : 0; $loop = isset($_GET['loop']) ? $_GET['loop'] : 1; $i = isset($_GET['i']) ? $_GET['i'] : 0; $isA = $this->isAll(); if ($sids) { empty($sids) && javascript::alert("请选择分类"); is_array($sids) && ($sids = implode(",", $sids)); if (strstr($sids, 'all')) { $forum = new forum(); $sids = substr($forum->fid(), 0, -1); _header(__SELF__ . '?mo=html&do=CreateTag&time=' . $this->cTime . '&cpn=' . $cpageNum . '&sortid=' . $sids . $isA); } else { $sArray = explode(',', $sids); $sCount = count($sArray); $cpage = isset($_GET['cpage']) ? $_GET['cpage'] : 1; $k = isset($_GET['k']) ? $_GET['k'] : 0; $rs = iCMS_DB::getArray("SELECT `id`,`name` FROM #iCMS@__tags WHERE `sortid` in ({$sids}) and `status`='1' order by id DESC"); empty($totle) && ($totle = count($rs)); $tloop = ceil($totle / $speed); if ($loop <= $tloop) { $max = $i + $speed > $totle ? $totle : $i + $speed; for ($j = $i; $j < $max; $j++) { $c = iHtml::Tag($rs[$j]['name'], $cpage, $loop, $cpageNum); $msg .= "标签: [" . $c['name'] . "] 生成…<span style='color:green;'>√</span><br />"; } javascript::dialog($msg, 'src:' . __SELF__ . '?mo=html&do=CreateTag&sortid=' . $sids . '&totle=' . $totle . '&loop=' . ($loop + 1) . '&i=' . $j . $isA, 'ok', 0); } else { $isA && javascript::dialog("标签更新完毕!<br />开始生成首页", 'url:' . __SELF__ . '?mo=html&do=index&all=true'); javascript::dialog("标签更新完毕"); } } // }elseif($startid && $endid){ // ($startid>$endid &&!isset($_GET['g'])) && javascript::alert("开始ID不能大于结束ID"); // empty($totle)&&$totle=($endid-$startid)+1; // empty($i)&&$i=$startid; // $tloop=ceil($totle/$speed); // if($loop<=$tloop){ // $max=$i+$speed>$endid?$endid:$i+$speed; // for($j=$i;$j<=$max;$j++){ // iHtml::Tag($j); // $msg.="标签ID:{$j}生成…<span style='color:green;'>√</span><br />"; // } // javascript::dialog($msg,'src:'.__SELF__.'?mo=html&do=CreateTag&startid='.$startid.'&endid='.$endid.'&g&loop='.($loop+1).'&i='.$j.$isA,'ok',0); // }else{ // javascript::dialog("标签更新完毕"); // } } elseif ($starttime) { $s = strtotime($starttime); $e = empty($endtime) ? time() + 86400 : strtotime($endtime); $rs = iCMS_DB::getArray("SELECT id,name FROM #iCMS@__tags WHERE `updatetime`>='{$s}' and `updatetime`<='{$e}' and `status`='1' order by id DESC"); empty($totle) && ($totle = count($rs)); $tloop = ceil($totle / $speed); if ($loop <= $tloop) { $max = $i + $speed > $totle ? $totle : $i + $speed; for ($j = $i; $j < $max; $j++) { iHtml::Tag($rs[$j]['name']); $msg .= "标签:[" . $rs[$j]['name'] . "]生成…<span style='color:green;'>√</span><br />"; } javascript::dialog($msg, 'src:' . __SELF__ . '?mo=html&do=CreateTag&starttime=' . $starttime . '&endtime=' . $endtime . '&totle=' . $totle . '&loop=' . ($loop + 1) . '&i=' . $j, 'ok', 0); } else { javascript::dialog("标签更新完毕"); } } else { javascript::alert("请选择方式"); } }
function doSave() { include_once iPATH . 'include/tag.class.php'; // print_r($_POST); // exit; set_time_limit(0); $aid = (int) $_POST['aid']; $fid = (int) $_POST['fid']; $title = dhtmlspecialchars($_POST['title']); $source = dhtmlspecialchars($_POST['source']); $author = dhtmlspecialchars($_POST['author']); $description = dhtmlspecialchars($_POST['description']); $keywords = dhtmlspecialchars($_POST['keywords']); $tags = dhtmlspecialchars($_POST['tags']); $pic = dhtmlspecialchars($_POST['pic']); $metadata = dhtmlspecialchars($_POST['metadata']); $metadata = $metadata ? addslashes(serialize($metadata)) : ''; $userid = member::$uId; $pubdate = _strtotime(); $type = 0; $orderNum = 0; $subtitle = ''; $stitle = ''; $editor = ''; $clink = ''; $url = ''; $tpl = ''; $top = 0; $vlink = ""; $related = ""; $postype = 0; $body = str_replace(array("\n", "\r", "\t"), "", $_POST['body']); empty($title) && javascript::alert('标题不能为空!'); empty($fid) && javascript::alert('请选择所属栏目'); empty($body) && javascript::alert('文章内容不能为空!'); WordFilter($title) && javascript::alert('标题包含被系统屏蔽的字符,请返回重新填写。'); WordFilter($source) && javascript::alert('出处包含被系统屏蔽的字符,请返回重新填写。'); WordFilter($author) && javascript::alert('作者包含被系统屏蔽的字符,请返回重新填写。'); WordFilter($description) && javascript::alert('摘要包含被系统屏蔽的字符,请返回重新填写。'); WordFilter($keywords) && javascript::alert('关键字包含被系统屏蔽的字符,请返回重新填写。'); WordFilter($tags) && javascript::alert('标签包含被系统屏蔽的字符,请返回重新填写。'); WordFilter($metadata) && javascript::alert('自定义内容包含被系统屏蔽的字符,请返回重新填写。'); WordFilter($body) && javascript::alert('文章内容包含被系统屏蔽的字符,请返回重新填写。'); if ($this->iCMS->config['AutoPage']) { if ($this->iCMS->config['AutoPageLen'] && !preg_match('/<div\\s+style=\\\\"page-break-after:.*?<\\/div>/is', $body)) { $html = autoformat($body, false); AutoPageBreak::page($html, $this->iCMS->config['AutoPageLen']); $body = implode('<!--iCMS.PageBreak-->', AutoPageBreak::$Rs); AutoPageBreak::$Rs = ''; unset($html); $this->iCMS->config['autoformat'] = false; } } $body = preg_replace(array('/<script.+?<\\/script>/is', '/<form.+?<\\/form>/is', '/<div\\s+style=\\\\"page-break-after:.*?<\\/div>/is'), array('', '', '<!--iCMS.PageBreak-->'), $body); $this->iCMS->config['autoformat'] && ($body = autoformat($body)); if ($this->iCMS->config['autodesc'] == "1" && !empty($this->iCMS->config['descLen']) && empty($description)) { $_body = preg_replace(array('/<p[^>]*>/is', '/<[\\/\\!]*?[^<>]*?>/is', "/\n+/", "/ +/", "/^\n/"), array("\n\n", '', "\n", '', ''), $this->iCMS->config['autoformat'] ? $body : autoformat($body)); $description = csubstr($_body, $this->iCMS->config['descLen']); } $tags = iTAG::split($tags, true); include iPATH . 'include/cn.class.php'; $clink = CN::pinyin($title, $this->iCMS->config['CLsplit']); $isPic = empty($pic) ? 0 : 1; $SELFURL = __SELF__ . (empty($_POST['REFERER']) ? '?mo=article&do=manage' : $_POST['REFERER']); $forum = new forum(); $status = $forum->forum[$fid]['isexamine'] ? '0' : '1'; //审核投稿 if (empty($aid)) { $hits = $good = $bad = $comments = 0; iCMS_DB::insert('article', compact('fid', 'title', 'stitle', 'clink', 'orderNum', 'url', 'source', 'author', 'editor', 'userid', 'postype', 'keywords', 'tags', 'description', 'related', 'metadata', 'isPic', 'pic', 'pubdate', 'hits', 'good', 'bad', 'comments', 'type', 'vlink', 'top', 'status')); $aid = iCMS_DB::$insert_id; iCMS_DB::insert('article_data', compact('aid', 'subtitle', 'tpl', 'body')); if ($_FILES['picfile']) { require_once iPATH . 'include/upload.class.php'; $F = iUpload::FILES("picfile", $aid, $title); iCMS_DB::query("UPDATE `#iCMS@__article` SET `isPic`='1',`pic` = '" . $F["FilePath"] . "' WHERE `id` = '{$aid}'"); } //$this->insert_db_remote($body,$aid); iTAG::add($tags, $userid, $aid, $forum->rootid($fid)); vlinkDiff($fid, '', $aid); if (!strstr($forum->forum[$fid]['contentRule'], '{PHP}') && !$forum->forum[$fid]['url'] && $forum->forum[$fid]['mode'] == "1" && $status) { include iPATH . 'include/iHtml.class.php'; iHtml::Article($aid); iHtml::forum($fid, 1, 0, 1); } if ($status) { iCMS_DB::query("UPDATE `#iCMS@__forum` SET `count` = count+1 WHERE `fid` ='{$fid}' LIMIT 1 "); $moreaction = array(array("text" => "查看该文章", "url" => $this->iCMS->iurl('show', array(array('id' => $aid, 'link' => $clink, 'url' => $url, 'fid' => $fid, 'pubdate' => $pubdate), $forum->forum[$fid]))->href, "o" => 'target="_blank"'), array("text" => "编辑该文章", "url" => __SELF__ . "?mo=article&do=add&id=" . $aid), array("text" => "继续添加文章", "url" => __SELF__ . "?mo=article&do=add&fid=" . $fid), array("text" => "返回文章列表", "url" => $SELFURL), array("text" => "查看网站首页", "url" => "../index.php", "o" => 'target="_blank"')); javascript::dialog('文章发布成功!<br />10秒后返回文章列表', 'url:' . $SELFURL, $moreaction, 10); } else { javascript::dialog('您的投稿文章发布成功!<br />该版块文章需要经过管理员审核才能显示!<br />请耐心等待,我们会尽快审核您的稿件!', 'url:' . $SELFURL, 'ok', 10); } } else { $art = iCMS_DB::getRow("SELECT `fid`,`tags`,`vlink` FROM `#iCMS@__article` where `id` ='{$aid}'"); iTAG::diff($tags, $art->tags, member::$uId, $aid, $forum->rootid($fid)); iCMS_DB::update('article', compact('fid', 'title', 'stitle', 'orderNum', 'clink', 'url', 'source', 'author', 'editor', 'userid', 'postype', 'keywords', 'tags', 'description', 'related', 'metadata', 'isPic', 'pic', 'pubdate', 'type', 'vlink', 'top', 'status'), array('id' => $aid)); vlinkDiff($fid, $art->vlink, $aid); iCMS_DB::update('article_data', compact('tpl', 'subtitle', 'body'), compact('aid')); if ($_FILES['picfile']) { require_once iPATH . 'include/upload.class.php'; $F = iUpload::FILES("picfile", $aid, $title); iCMS_DB::query("UPDATE `#iCMS@__article` SET `isPic`='1',`pic` = '" . $F["FilePath"] . "' WHERE `id` = '{$aid}'"); } //$this->insert_db_remote($body,$aid); if (!strstr($forum->forum[$fid]['contentRule'], '{PHP}') && !$forum->forum[$fid]['url'] && $forum->forum[$fid]['mode'] == "1" && $status) { include iPATH . 'include/iHtml.class.php'; iHtml::Article($aid); iHtml::forum($fid, 1, 0, 1); } if ($status) { if ($art->fid != $fid) { iCMS_DB::query("UPDATE `#iCMS@__forum` SET `count` = count-1 WHERE `fid` ='{$art->fid}' LIMIT 1 "); iCMS_DB::query("UPDATE `#iCMS@__forum` SET `count` = count+1 WHERE `fid` ='{$fid}' LIMIT 1 "); } javascript::dialog('文章编辑完成!<br />3秒后返回文章列表', 'url:' . $SELFURL); } else { javascript::dialog('您的文章编辑完成!<br />该版块文章需要经过管理员审核才能显示!<br />请耐心等待,我们会尽快审核您的稿件!', 'url:' . $SELFURL, 'ok', 10); } } }
function dosave() { include_once iPATH . 'include/tag.class.php'; $id = $_POST['id']; $mid = $_POST['mid']; $FArray = model::field($mid); $model = model::data($mid); $content = array(); if ($_POST['content']) { foreach ($_POST['content'] as $field => $value) { if (model::isDefField($field)) { switch ($field) { case "userid": $value = intval($value); break; case "fid": $value = $fid = intval($value); empty($value) && javascript::alert('请选择所属栏目'); break; case "orderNum": $value = _int($value); break; case "top": $value = _int($value); break; case "title": $value = dhtmlspecialchars($value); empty($value) && javascript::alert('标题不能为空!'); break; case "editor": $value = dhtmlspecialchars($value); break; case "tags": $value = iTAG::split(dhtmlspecialchars($value), true); break; case "type": $value = intval($value); break; case "vlink": $value = implode(',', $value); break; case "postype": $value = empty($value) ? intval($value) : "1"; break; case "pubdate": $value = _strtotime($value); break; case "clink": $value = dhtmlspecialchars($value); if ($value) { $clinklen = strlen($value); for ($i = 0; $i < $clinklen; $i++) { !preg_match("/[a-zA-Z0-9_\\-~" . preg_quote($this->iCMS->config['CLsplit'], '/') . "]/", $value[$i]) && javascript::alert('自定链接只能由英文字母、数字或_-~组成(不支持中文)'); } } break; } } elseif ($F = $FArray[$field]) { switch ($F['type']) { case "number": $value = intval($value); break; case "calendar": $value = _strtotime($value); break; case in_array($F['type'], array('text', 'textarea', 'radio', 'select', 'email', 'url', 'image', 'upload')): $value = dhtmlspecialchars($value); break; case in_array($F['type'], array('checkbox', 'multiple')): $value = implode(',', $value); break; case 'editor': $this->iCMS->config['autoformat'] && ($value = autoformat($value)); break; default: $value = dhtmlspecialchars($value); } } WordFilter($value) && javascript::alert($field . '字段包含被系统屏蔽的字符,请返回重新填写。'); $content[$field] = $value; $PF[] = $field; } } if (empty($content['clink'])) { include iPATH . 'include/cn.class.php'; $content['clink'] = CN::pinyin($content['title'], $this->iCMS->config['CLsplit']); } $table = model::tbn($_POST['table']); $MF = explode(',', $model['field']); $diff = array_diff_values($PF, $MF); if ($diff['-']) { foreach ($diff['-'] as $field) { //缺少的字段 填默认空值 $F = $FArray[$field]; $content[$field] = ''; if ($F['type'] == 'number' || $F['type'] == 'calendar') { $content[$field] = 0; } } } $SELFURL = __SELF__ . (empty($_POST['REFERER']) ? '?mo=content&do=manage' : $_POST['REFERER']); $forum = new forum(); empty($content['userid']) && ($content['userid'] = member::$uId); $content['postype'] = "0"; $content['status'] = $forum->forum[$fid]['isexamine'] ? '0' : '1'; //审核投稿 if (empty($id)) { $content['hits'] = $content['good'] = $content['bad'] = $content['comments'] = 0; if ($this->iCMS->config['repeatitle']) { iCMS_DB::getValue("SELECT `id` FROM `#iCMS@__{$table}` where `title` = '{$title}'") && alert('该标题内容已经存在!请检查是否重复'); } iCMS_DB::insert($table, $content); $id = iCMS_DB::$insert_id; model::upload($table, $id, $title); addtags($content['tags'], $content['userid'], $id, $forum->rootid($fid), $mid); $vlink = empty($content['vlink']) ? $fid : $content['vlink'] . ',' . $fid; vlinkDiff($vlink, '', $id, $mid); if (!strstr($forum->forum[$fid]['contentRule'], '{PHP}') && !$forum->forum[$fid]['url'] && $forum->forum[$fid]['mode'] == "1" && $content['status']) { include iPATH . 'include/iHtml.class.php'; iHtml::content($id, $mid, $table); iHtml::forum($fid, 1, 0, 1); } if ($content['status']) { iCMS_DB::query("UPDATE `#iCMS@__forum` SET `count` = count+1 WHERE `fid` ='{$fid}' LIMIT 1 "); // $moreaction=array( // array("text"=>"编辑该内容","url"=>__SELF__."?do=content&operation=add&table=".$table."&mid=".$mid."&id=".$id), // array("text"=>"继续添加内容","url"=>__SELF__."?do=content&operation=add&table=".$table."&mid=".$mid."&cid=".$cid), // array("text"=>"查看该内容","url"=>$iCMS->iurl('content',array('mId'=>$mid,'id'=>$id,'link'=>$clink,'pubdate'=>$pubdate,'cid'=>$cid,'dir'=>$catalog->catalog[$cid]['dir'],'domain'=>$catalog->catalog[$cid]['domain'],'htmlext'=>$catalog->catalog[$cid]['htmlext']))->href,"o"=>'target="_blank"'), // array("text"=>"查看网站首页","url"=>"../index.php","o"=>'target="_blank"') // ); javascript::dialog("添加完成!", 'url:' . __SELF__ . "?mo=content&do=manage&table=" . $_POST['table'] . "&mid=" . $mid); } else { javascript::dialog('您的投稿' . $model['name'] . '发布成功!<br />该版块内容需要经过管理员审核才能显示!<br />请耐心等待,我们会尽快审核您的稿件!', 'url:' . __SELF__ . "?mo=content&do=manage&table=" . $table . "&mid=" . $mid); } } else { $art = iCMS_DB::getRow("SELECT `fid`,`tags`,`vlink` FROM `#iCMS@__{$table}` where `id` ='{$id}'"); TagsDiff($content['tags'], member::$uId, $art->tags, $id, $forum->rootid($fid)); iCMS_DB::update($table, $content, array('id' => $id)); model::upload($table, $id, $title); $vlink = empty($content['vlink']) ? $fid : $content['vlink'] . ',' . $fid; vlinkDiff($vlink, $art->vlink, $id); if (!strstr($forum->forum[$fid]['contentRule'], '{PHP}') && !$forum->forum[$fid]['url'] && $forum->forum[$fid]['mode'] == "1" && $status) { include iPATH . 'include/iHtml.class.php'; iHtml::content($id, $mid, $table); iHtml::forum($fid, 1, 0, 1); } if ($content['status']) { if ($art->fid != $fid) { iCMS_DB::query("UPDATE `#iCMS@__forum` SET `count` = count-1 WHERE `fid` ='{$art->fid}' LIMIT 1 "); iCMS_DB::query("UPDATE `#iCMS@__forum` SET `count` = count+1 WHERE `fid` ='{$fid}' LIMIT 1 "); } javascript::dialog('编辑完成!<br />3秒后返回项目列表', 'url:' . $SELFURL); } else { javascript::dialog('您的' . $model['name'] . '编辑完成!<br />该版块内容需要经过管理员审核才能显示!<br />请耐心等待,我们会尽快审核您的稿件!', 'url:' . $SELFURL, 'ok', 10); } } }