function get_single_article($content, $url, $args = array()) { global $_G; extract($args); if (strlen(trim($content)) < 1) { return; } d_s('evo'); $get_type = $_GET['get_type'] ? intval($_GET['get_type']) : $get_type; $get_type = $get_type ? $get_type : 1; $milu_set = pick_common_get(); $rules_info = match_rules($url, $content, $get_type, 0); if (is_array($rules_info)) { pload('F:fastpick'); $data = rules_get_article($content, $rules_info); write_evo_errlog($data, $url, $rules_info); } else { $data = (array) cloud_match_rules($get_type, $url, $content); //从云端下载规则 这里应该做点优化,暂时没想到方法。 if (!$data['content'] && $milu_set['fp_open_auto'] == 1) { //开启智能获取 pload('C:HtmlExtractor'); pload('F:article'); $he = new HtmlExtractor($content, $url); $data = (array) $he->get_text(); $data['content'] = dz_attach_format($url, $data['content']); $arr = format_article_imgurl($url, $data['content']); $data['content'] = $arr['message']; $del_dom_rules = array('div[id*=share]', 'div[class*=page]'); foreach ($del_dom_rules as $k => $v) { $data['content'] = dom_filter_something($data['content'], $v, 2); } unset($data['evo_title_info']); } } if ($_GET['type'] == 'bbs') { $data['content'] = media_htmlbbcode($data['content'], $url); $data['content'] = img_htmlbbcode($data['content'], $url); } $data['evo_time'] = d_e(0, 'evo'); return $data; }
function _public_add_info($type = 'bbs') { $info = $this->_article_info(); if (!$info) { return; } if ($type == 'bbs') { require_once libfile('function/editor'); $info['content'] = dstripslashes($info['content']); $info['content'] = img_htmlbbcode($info['content'], $info['page_url']); $info['content'] = media_htmlbbcode($info['content'], $info['page_url']); $info['content'] = audio_htmlbbcode($info['content'], $info['page_url']); $info['content'] = htmlspecialchars_decode(html2bbcode($info['content'])); $info['content'] = dstripslashes(format_html($info['content'])); $script .= '<div id="show_title" style="display:none">' . $info['title'] . '</div><div id="show_content" style="display:none">' . $info['content'] . '</div><script language="javascript" type="text/javascript" >'; $script .= ' var subject = $("show_title").innerHTML; var message = $("show_content").innerHTML; $("subject").value= subject; message = message.replace(/<p>([\\s\\S]*?)<\\/p>/ig, "$1<br />"); message = message.replace(/<center>([\\s\\S]*?)<\\/center>/ig, "[align=center]$1[/align]"); $(\'e_textarea\').value = message; $("subject").focus();'; $script .= '</script>'; } else { if ($type == 'portal') { $script .= '<div id="show_title" style="display:none">' . $info['title'] . '</div><div id="show_content" style="display:none">' . $info['content'] . '</div><script language="javascript" type="text/javascript" >'; $script .= ' var subject = $("show_title").innerHTML; var message = $("show_content").innerHTML; $("title").value= subject; $("from").value= \'' . $this->_public_data($info['from']) . '\'; document.getElementsByName(\'fromurl\')[0].value = \'' . $this->_public_data($info['url']) . '\'; document.getElementsByName(\'author\')[0].value = \'' . $this->_public_data($info['author']) . '\'; $(\'uchome-ttHtmlEditor\').value = message; var p = window.frames[\'uchome-ifrHtmlEditor\']; var obj = p.window.frames[\'HtmlEditor\']; obj.document.body.innerHTML = message; edit_save(); $("title").focus()'; $script .= '</script>'; } else { if ($type == 'blog') { $script .= '<div id="show_title" style="display:none">' . $info['title'] . '</div><div id="show_content" style="display:none">' . $info['content'] . '</div><script language="javascript" type="text/javascript" >'; $script .= ' var subject = $("show_title").innerHTML; var message = $("show_content").innerHTML; $("subject").value= subject; document.getElementsByName(\'tag\')[0].value = \'' . $this->_public_data($info['article_tag']) . '\'; $(\'uchome-ttHtmlEditor\').value = message; var p = window.frames[\'uchome-ifrHtmlEditor\']; var obj = p.window.frames[\'HtmlEditor\']; obj.document.body.innerHTML = message; edit_save(); $("subject").focus()'; $script .= '</script>'; } } } return $script; }
function article_reply($arr) { global $_G; require_once libfile('function/editor'); require_once libfile('function/post'); $time_arr = create_public_time($arr, count($arr['reply']), 1); //需传入已经发布的帖子的public_start_time $uid_arr = get_rand_uid($arr, 'reply'); $subject = addslashes($arr['title']); $view_num = $arr['view_num']; $tid = $arr['tid']; $reply_arr = $arr['reply']; if ($arr['public_reply_seq'] == 1) { shuffle($reply_arr); } //打乱回帖 //print_r($reply_arr);exit(); $replys = count($reply_arr); foreach ((array) $reply_arr as $k => $v) { $message = dstripslashes($v); $message = media_htmlbbcode($message, $arr['page_url']); $message = img_htmlbbcode($message, $arr['page_url']); $message = htmlspecialchars_decode(html2bbcode($message)); $bbcodeoff = checkbbcodes($message, !empty($_GET['bbcodeoff'])); $smileyoff = checksmilies($message, !empty($_GET['smileyoff'])); $parseurloff = !empty($_GET['parseurloff']); $htmlon = $_G['group']['allowhtml'] && !empty($_GET['htmlon']) ? 1 : 0; $usesig = !empty($_GET['usesig']) ? 1 : ($_G['uid'] && $_G['group']['maxsigsize'] ? 1 : 0); $isanonymous = $_G['group']['allowanonymous'] && !empty($_GET['isanonymous']) ? 1 : 0; if (!$message || strlen($message) < 2) { continue; } $post_setarr = array('fid' => $arr['fid'], 'tid' => $tid, 'first' => '0', 'author' => $uid_arr[$k]['username'] ? $uid_arr[$k]['username'] : $_G['username'], 'authorid' => $uid_arr[$k]['uid'] ? $uid_arr[$k]['uid'] : $_G['uid'], 'subject' => '', 'dateline' => $time_arr[$k], 'message' => $message, 'useip' => $_G['clientip'], 'invisible' => 0, 'anonymous' => $isanonymous, 'usesig' => $usesig, 'htmlon' => $htmlon, 'bbcodeoff' => $bbcodeoff, 'smileyoff' => $smileyoff, 'parseurloff' => $parseurloff, 'attachment' => '0', 'tags' => 0, 'replycredit' => 0, 'status' => defined('IN_MOBILE') ? 8 : 0); //$new[$k] = $post_setarr; if (DISCUZ_VERSION != 'X2') { //2.5版本 $post_setarr = dstripslashes($post_setarr); } else { $post_setarr = daddslashes($post_setarr); } $lastpost = $post_setarr['dateline']; $lastposter = $post_setarr['author']; $reply_pid = insertpost($post_setarr); $forum_arr['tid'] = $tid; $forum_arr['pid'] = $reply_pid; $forum_arr['is_post'] = 1; //标识是回复 $forum_arr['cookie'] = $arr['cookie']; $forum_arr['is_water_img'] = $arr['is_water_img']; $forum_arr['is_download_img'] = $arr['is_download_img']; $forum_arr['is_download_file'] = $arr['is_download_file']; $forum_arr['content'] = $v; $re_arr = forum_downremotefile($forum_arr); DB::query("UPDATE " . DB::table('common_member_count') . " SET posts=posts+1 WHERE uid='{$post_setarr['authorid']}'"); //更新数 } //今日发帖 $todayposts = 0; foreach ((array) $time_arr as $k => $v) { if (date("Yjn", $_G['timestamp']) == date("Yjn", $v)) { $todayposts++; } } DB::update('forum_thread', array('replies' => count($reply_arr), 'lastpost' => $lastpost, 'lastposter' => $lastposter), array('tid' => $tid)); $subject = str_replace("\t", ' ', $subject); $replys = $replys ? $replys : 1; $forum_lastpost = "{$tid}\t{$subject}\t{$lastpost}\t{$lastposter}"; DB::query("UPDATE " . DB::table('forum_forum') . " SET lastpost='{$forum_lastpost}', posts=posts+{$replys}, todayposts=todayposts+{$todayposts} WHERE fid='{$arr['fid']}'", 'UNBUFFERED'); //更新今日发帖这些数据 return TRUE; }