function admAnswerRename(&$session) { global $rename_oldname, $rename_newname, $rename_rename, $rename_backlinks; $session->trace(TC_Gui1, 'admAnswerRename'); $message = null; $origin = isset($rename_newname) ? $rename_newname : null; if (!isset($rename_oldname)) { $message = '+++ kein bisheriger Name angegeben!'; } elseif (($page_id = dbPageId($session, $rename_oldname)) <= 0) { $message = '+++ Seite ' . $rename_oldname . ' existiert nicht'; } elseif (isset($rename_rename) && !isset($rename_newname)) { $message = '+++ kein neuer Name angegeben!'; } elseif (isset($rename_rename) && ($rename_newname = normalizeWikiName($session, $rename_newname)) != $origin) { $message = '+++ Unzulässiger neuer Name (' . $origin . ') wurde korrigiert'; } elseif (isset($rename_rename) && dbPageId($session, $rename_newname) > 0) { $message = '+++ Seite ' . $rename_newname . ' existiert schon!'; } elseif (isset($rename_rename)) { dbUpdate($session, T_Page, $page_id, 'name=' . dbSQLString($session, $rename_newname) . ','); $message = 'Seite ' . $rename_oldname . ' wurde in ' . $rename_newname . ' umbenannt.'; $pages = 0; $hits = 0; if ($rename_backlinks == C_CHECKBOX_TRUE) { $row = dbFirstRecord($session, 'select id,text from ' . dbTable($session, T_Text) . ' where replacedby is null and text like ' . dbSqlString($session, "%{$rename_oldname}%")); $pattern1 = '/([^' . CL_WikiName . '])' . $rename_oldname . '([^' . CL_WikiName . '])/'; $pattern2 = '/^' . $rename_oldname . '([^' . CL_WikiName . '])/'; $pattern3 = '/([^' . CL_WikiName . '])' . $rename_oldname . '$/'; $replacement1 = '\\1' . $rename_newname . '\\2'; $replacement2 = $rename_newname . '\\1'; $replacement3 = '\\1' . $rename_newname; while ($row) { $text = $row[1]; $count1 = preg_match_all($pattern1, $row[1], $dummy); if ($count1 > 0) { $text = preg_replace($pattern1, $replacement1, $text); } $count2 = preg_match($pattern2, $row[1]); if ($count2 > 0) { $text = preg_replace($pattern2, $replacement2, $text); } $count3 = preg_match($pattern3, $text); if ($count3 > 0) { $text = preg_replace($pattern3, $replacement3, $text); } if ($count1 + $count2 + $count3 > 0) { dbUpdate($session, T_Text, $row[0], 'text=' . dbSQLString($session, $text) . ','); $pages++; $hits += $count1 + $count2 + $count3; } $row = dbNextRecord($session); } if ($pages > 0) { $message .= '<br>Es wurde' . ($hits == 1 ? ' ' : 'n ') . $hits . ($hits == 1 ? ' Verweis auf ' : ' Verweise auf ') . $pages . ($pages == 1 ? ' Seite umbenannt.' : ' Seiten umbenannt.'); } } addSystemMessage($session, $rename_oldname . ' >> ' . $rename_newname . ': ' . (0 + $hits)); $rename_oldname = ''; $rename_newname = ''; } admRename($session, $message); }
public function addComment() { $Model = K('Comment'); $ModelCache = cache('model'); $mid = Q('mid', 0, 'intval'); $cid = Q('cid', 0, 'intval'); $aid = Q('aid', 0, 'intval'); if (!session("uid")) { $this->_ajax('nologin', '没有登录'); } //-验证评论发表间隔时间 Q('session.comment_send_time', 0, 'intval'); //间隔时间小于配置项 if (!IN_ADMIN && Q('session.comment_send_time') + C('comment_step_time') > time()) { $_time = Q('session.comment_send_time') + C('comment_step_time') - time(); $step = $_time / 60 > 1 ? intval($_time / 60) . '分钟' : $_time . '秒'; $this->error('请' . $step . '后发表'); } $content = Q('content'); if (!$content) { $this->error('评论内容不能为空'); } $state = $Model->where("cid={$cid} && aid={$aid} && " . C("DB_PREFIX") . "comment.uid=" . session('uid'))->where("content='{$content}'")->order("comment_id DESC")->find(); if ($state) { $this->error('请不要发表重复内容'); } //添加积分 $reply_credits = intval(C('reply_credits')); $credits_msg = ''; if ($reply_credits) { $sql = "UPDATE " . C('DB_PREFIX') . 'user AS u SET credits=credits+' . $reply_credits; M()->exe($sql); $_SESSION['credits'] += $reply_credits; $credits_msg = '奖励' . $reply_credits . '个积分'; } //添加 if ($comment_id = $Model->addComment()) { //记录发表时间 session('comment_send_time', time()); //修改文章评论数 M($ModelCache[$mid]['table_name'])->inc('comment_num', 'aid=' . $aid); $comment_state = M('role')->where('rid=' . $_SESSION['rid'])->getField('comment_state'); if ($comment_state == 1 || IN_ADMIN) { $comment = $this->getCommentHtml($comment_id); $msg = '评论成功!' . $credits_msg; } else { $comment = ''; $msg = '评论成功,审核后显示'; } //添加动态 $Message = mb_substr($content, 0, 30, 'utf-8'); $DyMessge = "<a target='_blank' href='" . __WEB__ . "?a=Index&c=Index&m=content&mid={$mid}&cid={$cid}&aid={$aid}'>" . $Message . "</a>"; addDynamic($_SESSION['uid'], "发表了评论: " . $DyMessge); //向文章作者发送系统消息 $article = M($ModelCache[$mid]['table_name'])->where("aid={$aid}")->find(); $articleUrl = __WEB__ . "?a=Index&c=Index&m=content&mid={$mid}&cid={$cid}&aid={$aid}"; $title = mb_substr($article['title'], 0, 30, 'utf-8'); addSystemMessage($_SESSION['uid'], " <a target='_blank' href='" . $articleUrl . "'>{$title}</a> 有了新评论"); $this->_ajax(1, $msg, $comment); } else { $this->error('失败了哟'); } }