function pick_count() { //clear_pick_cache(1);//缓存定期清理 //clear_search_index(1);//清除索引 clear_log(1); //清除日志 pload('C:cache'); $arr['search_index']['name'] = milu_lang('rules_search_index'); $arr['search_index']['msg'] = milu_lang('search_index_notice'); $arr['search_index']['show'] = '<span style=" width:120px; float:left">' . milu_lang('search_index_c') . '<hr>'; $type_arr = array('1' => milu_lang('fast_pick_rules'), '2' => milu_lang('dxc_system_rules'), '3' => milu_lang('fastpick_evo')); $type_arr2 = array('3' => milu_lang('server_'), '4' => milu_lang('local_')); foreach ($type_arr as $k => $v) { foreach ($type_arr2 as $k2 => $v2) { $type = $k . $k2; $show_name = '<span style=" width:120px; float:left">' . $type_arr[$k] . $type_arr2[$k2] . '</span>'; $search_index_count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('strayer_searchindex') . " WHERE type='{$type}'"), 0); $arr['search_index']['show'] .= $show_name . ' ' . $search_index_count . '<br />'; } } $log_info = IO::info(PICK_DIR . '/data/log'); $arr['log']['name'] = milu_lang('log_size'); $arr['log']['msg'] = milu_lang('auto_pick_notice'); $arr['log']['show'] = sizecount($log_info['size']); $cache_info = IO::info(PICK_CACHE, 1, 1); $arr['cache']['name'] = milu_lang('cache_file_size'); $arr['cache']['show'] = milu_lang('cache_size_value', array('s' => sizecount($cache_info['size']), 'p' => PICK_CACHE_SIZE)); $arr['cache']['msg'] = milu_lang('cache_notice'); return $arr; }
function run_timing($a) { global $_G; $timestamp = TIMESTAMP; $processname = 'TIMING_CRON_CHECK'; $check = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('strayer_timing') . " WHERE public_dateline<='{$timestamp}' "), 0); if ($check) { discuz_process::unlock($processname); } if (discuz_process::islocked($processname, 600)) { return false; } if (!$check) { return FALSE; } @set_time_limit(1000); @ignore_user_abort(TRUE); //防止发生异常,先预订一个1小时的总时间,假如发布文章需要2小时才完成。还未到2小时,又被触发了,这样会造成文章的重复发布 save_syscache('pick_timing', TIMESTAMP + 60 * 60 * 1); $optype_arr = array(1 => 'move_portal', 2 => 'move_forums', 3 => 'move_blog'); $query = DB::query("SELECT * FROM " . DB::table('strayer_timing') . " WHERE public_dateline<='{$timestamp}' ORDER by public_dateline"); $timing_aid_arr = $tid_arr = $args = array(); while ($rs = DB::fetch($query)) { $timing_aid_arr[] = dstripslashes($rs); $tid_arr[] = $rs['id']; } if (!$timing_aid_arr) { return; } pload('F:article,F:pick'); article_timing_delete($tid_arr); //不管有没有发布成功,先清理掉定时发布表里面的数据,防止文章又被重复检测到 foreach ($timing_aid_arr as $k => $rs) { $args = unserialize($rs['public_info']); $args['aid'] = array($rs['data_id']); $args['pid'] = $rs['pid']; $args['timing'] = 1; $args['cron_run'] = 1; $args['public_time'][$rs['data_id']] = $rs['public_dateline']; article_import($optype_arr[$rs['public_type']], $args); } save_syscache('pick_timing', TIMESTAMP + 600); //成功运行,时间按正常设置 discuz_process::unlock($processname); return true; }
function cloud_match_rules($get_type, $url, $content) { global $_G; pload('F:fastpick'); $setting = get_pick_set(); $pick_config = $_G['cache']['evn_milu_pick']['pick_config']; $server_cache_time = $pick_config['index_server_cache_time']; if ($get_type == '3') { //智能学习规则索引过期时间比较短 $server_cache_time = $pick_config['evo_index_server_cache_time']; } $milu_set = pick_common_get(); if ($setting['open_cloud_pick'] != 1) { return FALSE; } pload('F:copyright'); $host_info = GetHostInfo($url); $domain = $host_info['host']; $domain_hash = md5($domain); $url_temp = preg_replace('/\\d+/', '', $url); $arr_temp = parse_url($url_temp); $path_hash = md5($arr_temp['path']); $over_dateline = $_G['timestamp'] - $server_cache_time; $count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('strayer_searchindex') . " WHERE domain_hash='" . $domain_hash . "' AND path_hash='" . $path_hash . "' AND type='" . $get_type . "3' AND dateline > {$over_dateline}"), 0); //3是服务端 4是本地的缓存 if ($count) { return FALSE; } $args = array('get_type' => $get_type, 'url' => $url); $rpcClient = rpcClient(); $client_info = get_client_info(); $re = $rpcClient->cloud_match_rules($args, $client_info); if (is_object($re) || $re->Number == 0) { if ($re->Message) { return milu_lang('phprpc_error', array('msg' => $re->Message)); } $re = (array) $re; } $data = array(); if ($re['data_type'] == 1) { //返回规则 $rules_info = $re['data']; if ($get_type == 3) { $data = evo_rules_get_article($content, $rules_info); } else { $data = rules_get_article($content, $rules_info); } if ($data || $data['content'] && $get_type == 3) { //规则验证有效,下载到本地 if ($get_type == 3) { $data_id = import_evo_data($rules_info); } else { $data_id = import_fastpick_data($rules_info); } if ($data_id) { //先清除之前的索引 DB::query('DELETE FROM ' . DB::table('strayer_searchindex') . " WHERE domain_hash='" . $domain_hash . "' AND path_hash='" . $path_hash . "'"); add_search_index($domain_hash, $path_hash, $get_type . '4', $data_id); //添加索引 } } } else { if ($re['data_type'] == 2) { //返回内容 $data = $re['data']; } else { //一无所获,那也要告诉客户端,别再骚扰服务端了 add_search_index($domain_hash, $path_hash, $get_type . '3', 0); } } return $data; }
function _article_seo_output($data) { pload('F:seo'); $seo_arr = pick_seo_replace($data, 0, 0); $arr['content'] = $seo_arr['content']; $arr['title'] = $seo_arr['title']; return $arr; }
<?php if (!defined('IN_DISCUZ')) { exit('Access Denied'); } require_once DISCUZ_ROOT . 'source/plugin/milu_pick/config.inc.php'; pload('F:copyright,F:output'); $head_url = '?' . PICK_GO . 'fast_pick&myac='; $myac = $_GET['myac']; $tpl = $_GET['tpl']; if (empty($myac)) { $myac = 'virtualdata_set'; } if (function_exists($myac)) { $info = $myac(); } $mytemp = $_REQUEST['mytemp'] ? $_REQUEST['mytemp'] : $myac; if (!$tpl && $tpl != 'no') { include template('milu_pick:' . $mytemp); } function virtualdata_set() { global $head_url, $header_config; if (!submitcheck('submit')) { require_once libfile('function/forumlist'); $info = pick_common_get(); $info['vir_cache_time'] = $info['vir_cache_time'] ? $info['vir_cache_time'] : 10; $info['vir_data_forum'] = unserialize($info['vir_data_forum']); $info['vir_data_usergroup'] = unserialize($info['vir_data_usergroup']); $info['forumselect'] = '<select name="set[vir_data_forum][]" size="10" multiple="multiple"><option value="">' . cplang('plugins_empty') . '</option>' . forumselect(FALSE, 0, $info['vir_data_forum'], TRUE) . '</select>'; return $info;
function avatar_get($run = 0) { if (!session_id()) { session_start(); } pload('F:spider'); if (intval($_GET['clear'])) { unset($_SESSION['avatar_get']); } $save_data = $_SESSION['avatar_get'] ? $_SESSION['avatar_get'] : ''; global $head_url, $header_config, $_G; if (!$_GET['submit'] || $run == 0) { $info['header'] = pick_header_output($header_config, $head_url); $info['save_data'] = $save_data; return $info; } else { $submit = intval($_GET['submit']); if ($submit == 2) { unset($save_data); } if (!$save_data) { show_pick_info(milu_lang('start_config')); } $info = pick_common_get(); if (!$info['avatar_web_url']) { show_pick_info(milu_lang('please_set_avatar_url'), 'show_err'); return FALSE; } if (!$info['avata_from_uid']) { show_pick_info(milu_lang('set_pick_uid_start'), 'show_err'); return FALSE; } $info['avata_jump_num'] = $info['avata_jump_num'] ? $info['avata_jump_num'] : 100; $now_get = $save_data['now_get'] ? $save_data['now_get'] : 0; $limit_num = $info['avata_jump_num'] ? $info['avata_jump_num'] : 50; $success_count = $save_data['success_count'] ? $save_data['success_count'] : 0; if ($info['avatar_setting_member'] == 1) { //设置所有已导入的会员 if ($save_data['get_count']) { //查询总共需要设置的 $get_count = $save_data['get_count']; } else { $all_count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('common_member') . " c Inner Join " . DB::table('strayer_member') . " p ON p.data_uid=c.uid WHERE p.data_uid>0 "), 0); $get_count = $_SESSION['avatar_get']['get_count'] = $all_count; } if (!$get_count) { show_pick_info(milu_lang('no_import_user_data'), 'show_err'); return FALSE; } $query = DB::query("SELECT c.uid,c.username,p.data_uid FROM " . DB::table('common_member') . " c Inner Join " . DB::table('strayer_member') . " p ON p.data_uid=c.uid WHERE p.data_uid>0 ORDER BY p.get_dateline DESC LIMIT {$success_count},{$limit_num} "); while ($v = DB::fetch($query)) { $uid_arr[] = $v['uid']; } } else { //用户自定义 $re_arr = get_data_range($info['avatar_user_set'], $success_count, $limit_num); $uid_arr = $re_arr['list']; $_SESSION['avatar_get']['get_count'] = $get_count = $save_data['get_count'] ? $save_data['get_count'] : $re_arr['all_num']; //var_dump($get_count); } $avatar_get_uid = $save_data['avatar_get_uid'] ? $save_data['avatar_get_uid'] : $info['avata_from_uid']; $all_get_time = $save_data['all_get_time'] ? $save_data['all_get_time'] : 0; $snoop_obj = get_snoopy_obj($snoopy_args); foreach ($uid_arr as $k => $uid) { $v['avatar_web_url'] = $info['avatar_web_url']; $v['avatar_get_uid'] = $avatar_get_uid + 1; $v['cover_avatar'] = $info['cover_avatar']; $v['now_get'] = $now_get + 1; $v['uid'] = $uid; $v['get_count'] = $get_count; $v['cover_avatar'] = $info['cover_avatar']; $v['success_count'] = $success_count; $v['all_get_time'] = $all_get_time; $v['avata_jump_num'] = $info['avata_jump_num']; if (!check_uid($uid)) { //不存在的用户 $show_arr = get_show_arr($now_get, $success_count, $get_count, $all_get_time); $show_args = array_merge($show_arr, array('li_no_end' => 1, 'no_border' => 1, 'now' => $v['now_get'])); show_pick_info(array(milu_lang('uid_no_exists', array('u' => '<a target="_blank" href="home.php?mod=space&uid=' . $uid . '&do=profile">' . $uid . '</a>'))), 'left', $show_args); $get_re['success_count'] = $v['success_count'] = $v['success_count'] + 1; $get_re['get_count'] = $get_count; $get_re['now'] = $v['now_get'] = $v['now_get']; $get_re['all_get_time'] = $all_get_time; $get_re['avatar_get_uid'] = $v['avatar_get_uid']; $_SESSION['avatar_get']['now_get'] = $v['now_get']; $_SESSION['avatar_get']['avatar_get_uid'] = $v['avatar_get_uid']; $_SESSION['avatar_get']['all_get_time'] = $all_get_time; $_SESSION['avatar_get']['success_count'] = $v['success_count']; $show_args = get_show_arr($v['now_get'], $v['success_count'], $get_count, $all_get_time); show_pick_info(milu_lang('jump'), 'err', $show_args); avatar_page_jump($v['now_get'], $v['avata_jump_num'], $get_count); } else { $get_re = $test_re = get_web_avatar($v); //采集头像 } unset($test_re['content']); //debug $now_get = $get_re['now']; $success_count = $get_re['success_count']; $all_get_time = $get_re['all_get_time']; $get_count = $get_re['get_count']; $avatar_get_uid = $_SESSION['avatar_get']['avatar_get_uid'] = $get_re['avatar_get_uid']; $show_arr = get_show_arr($now_get, $success_count, $get_count, $all_get_time); $_SESSION['avatar_get']['now_get'] = $now_get; $_SESSION['avatar_get']['all_get_time'] = $all_get_time; } $all_get_time_str = diff_time($all_get_time, 1); $all_get_time_str = $all_get_time_str ? $all_get_time_str : ceil($all_get_time) . milu_lang('sec'); $avg_get_time = $all_get_time / $success_count; $finsh_output = milu_lang('pick_avatar_finsh', array('n' => $now_get, 'g' => $success_count, 'all' => $all_get_time_str, 'avg' => sprintf('%.2f', $avg_get_time))); //unset($_SESSION['avatar_get']); show_pick_info($finsh_output, 'finsh'); } }
function fast_pick() { global $_G; d_s('f_g'); d_s('g_t'); pload('F:spider'); $url = $_GET['url']; $content = get_contents($url, array('cache' => -1)); $get_time = d_e(0, 'g_t'); $type = $_GET['type'] ? $_GET['type'] : 'bbs'; $milu_set = pick_common_get(); $data = (array) get_single_article($content, $url); if ($milu_set['fp_word_replace_open'] == 1 && !VIP) { //开启同义词替换 $words = get_replace_words(); if ($data['title']) { $data['title'] = strtr($data['title'], $words); } if ($data['content']) { $data['content'] = strtr($data['content'], $words); } } if ($milu_set['fp_article_from'] == 1) { //开启来源 $data['fromurl'] = $url; if ($type == 'bbs' && $data['content']) { $data['content'] .= "[p=30, 2, left]" . milu_lang('article_from') . ':' . $url . "[/p]"; } } $data['get_text_time'] = $get_time; $data['all_get_time'] = d_e(0, 'f_g'); $data = $data ? $data : array(); $data = js_base64_encode($data); $re = json_encode($data); return $re; }
function pick_match_rules() { $url = format_url($_GET['url']); d_s(); $content = get_contents($url); $v = match_rules($url, $content, 2, 0); if (!$v || !is_array($v)) { $v = pick_match_coloud_rules($url); if ($v['data_type'] == 1) { pload('F:rules'); $v = $v['data']; rules_add($v); del_search_index(2); } } if (!$v || !is_array($v)) { return 'no'; } $re_arr = array($v['rules_type'], $v['rules_hash']); return json_encode($re_arr); }
<?php if (!defined('IN_DISCUZ')) { exit('Access Denied'); } require_once DISCUZ_ROOT . 'source/plugin/milu_pick/config.inc.php'; pload('F:fastpick,F:copyright,F:output'); $header_config = array('fastpick_manage', 'fastpick_add', 'fastpick_import', 'fastpick_share', 'fastpick_set', 'fastpick_evo', 'fastpick_evo_log'); $head_url = '?' . PICK_GO . 'fast_pick&myac='; $myac = $_GET['myac']; $tpl = $_GET['tpl']; if (empty($myac)) { $myac = 'fastpick_manage'; } if ($myac == 'fastpick_add') { $myac = 'fastpick_edit'; } else { if ($myac == 'fastpick_del') { $tpl = 'no'; } } if ($_GET['id']) { $header_config[1] = $myac; } if (function_exists($myac)) { $info = $myac(); } $mytemp = $_REQUEST['mytemp'] ? $_REQUEST['mytemp'] : $myac; if (!$tpl && $tpl != 'no') { include template('milu_pick:' . $mytemp); }
} else { cpmsg(milu_lang('empty_pick_confirm'), PICK_GO . 'picker_manage&myaction=pick_empty&pid=' . $pid . '&submit=1', 'form'); } break; case 'pick_del': if ($pid && $submit) { del_picker($pid); cpmsg(milu_lang('del_finsh'), PICK_GO . "picker_manage", 'succeed'); } else { cpmsg(milu_lang('pick_del_confirm'), PICK_GO . 'picker_manage&myaction=pick_del&pid=' . $pid . '&submit=1', 'form'); } break; case 'export': $info['pick'] = get_pick_info(); if ($info['pick']['rules_hash']) { pload('F:rules'); $info['rules'] = get_rules_info($info['pick']['rules_hash']); } $is_hava = $info['rules'] ? milu_lang('hava_system_rules') : milu_lang('no_hava_system_rules'); $args = array('type' => milu_lang('dxc_rules'), 'author' => $_G['setting']['bbname'], 'rules_name' => $info['pick']['name'], 'rule_desc' => $is_hava); $info['version'] = PICK_VERSION; exportfile($info, $info['pick']['name'], $args); break; case 'show_article_info': $arr['title'] = format_url($_GET['title']); $arr['content'] = format_url($_GET['content']); $arr['article_get_type'] = $_GET['article_get_type']; $arr['url_page_range'] = $_GET['url_page_range']; $arr['page_link_rules'] = format_url($_GET['page_link_rules']); $url_range_type = $_GET['url_range_type']; $page_test_url = $_GET['page_test_url'];
function evo_set($info) { global $_G; if (!$info) { return; } if (strlen($info['text']['html']) < 200 || strlen($info['title']['html']) < 10) { return; } //标题和内容太短都不行 $link_count = own_link_count($info['text']['html'], $this->url); if ($link_count > 10) { return FALSE; } //有10个指向自己的链接,就不行 $milu_set = pick_common_get(); if ($milu_set['fp_open_evo'] != 1) { return FALSE; } $text_info = $this->dom_info_arr[$info['text']['key']]; $title_info = $this->dom_info_arr[$info['title']['key']]; $text_info['html'] = $info['text']['html']; $title_info['html'] = $info['title']['html']; $info['title_split_arr'] = $this->get_split_arr($title_info); $info['text_split_arr'] = $split_arr = $this->get_split_arr($text_info); unset($text_info['outertext'], $text_info['parent']['outertext'], $title_info['outertext'], $title_info['parent']['outertext'], $text_info['html'], $title_info['html']); if (strlen($split_arr[0]) < 14) { return FALSE; } pload('F:copyright'); $host_info = GetHostInfo($this->url); $domain = $host_info['host']; $domain_hash = md5($domain); if (preg_match('/\\d+/', $split_arr[0])) { $s_arr = preg_split("/[\\d]+/", $split_arr[0]); $split_arr[0] = $s_arr[0]; foreach ((array) $s_arr as $k => $v) { if (strlen($v) > strlen($split_arr[0])) { $split_arr[0] = $v; } } } if (!$title_info) { return FALSE; } $result_info['evo_title_info'] = $title_info; $setarr = array('content_get_type' => 0, 'detail_ID' => $split_arr[0], 'detail_ID_hash' => md5($split_arr[0]), 'detail_ID_test' => $this->url, 'content_rules' => '', 'evo_text_info' => serialize($text_info), 'evo_title_info' => serialize($title_info), 'domain_hash' => $domain_hash, 'domain' => $domain, 'status' => 0, 'dateline' => $_G['timestamp']); $setarr = paddslashes($setarr); $base_sql = "SELECT * FROM " . DB::table('strayer_evo') . " WHERE domain_hash='{$domain_hash}' AND detail_ID_hash='" . $setarr['detail_ID_hash'] . "' AND status=0"; $data_info = DB::fetch_first($base_sql . " AND detail_ID_test!='{$this->url}'"); $data_info = pstripslashes($data_info); if (!$data_info) { //还没有资料 if (!($check = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('strayer_evo') . " WHERE domain_hash='{$domain_hash}' AND detail_ID_hash='" . $setarr['detail_ID_hash'] . "' AND status=0 AND detail_ID_test='{$this->url}'"), 0))) { DB::insert('strayer_evo', $setarr, TRUE); } $result_info['status'] = 'no'; return $result_info; } else { //有了资料 $title_rules = $this->get_rules($info, $title_info, $data_info, 'title'); $text_rules = $this->get_rules($info, $text_info, $data_info, 'text'); //删除之前的一些记录,防止没有索引的情况下重复生成规则 $check_info = DB::fetch_first("SELECT * FROM " . DB::table('strayer_evo') . " WHERE domain_hash='{$domain_hash}' AND detail_ID_hash='" . $setarr['detail_ID_hash'] . "' AND status=1"); DB::query('DELETE FROM ' . DB::table('strayer_evo') . " WHERE id='{$check_info['id']}'"); DB::query('DELETE FROM ' . DB::table('strayer_searchindex') . " WHERE id='{$check_info['id']}' AND type='34'"); if ($text_rules) { $setarr = array('content_get_type' => $text_rules['get_type'], 'content_rules' => $text_rules['rules'], 'theme_get_type' => $title_rules['get_type'], 'theme_rules' => $title_rules['rules'], 'status' => 1); DB::update("strayer_evo", $setarr, array("id" => $data_info['id'])); $pash_hash = get_path_hash($this->url); add_search_index($domain_hash, $path_hash, 34, $data_info['id']); //添加索引 4是本地缓存 $pick_set = get_pick_set(); if ($pick_set['open_cloud_pick'] == 1) { //开启云采集,将规则上传到服务端 $rpcClient = rpcClient(); unset($setarr['status']); $data_info['content_get_type'] = $setarr['content_get_type']; $data_info['content_rules'] = $setarr['content_rules']; $data_info['theme_get_type'] = $setarr['theme_get_type']; $data_info['theme_rules'] = $setarr['theme_rules']; $client_info = get_client_info(); $re = $rpcClient->upload_evo_data($data_info, $client_info); } del_search_index(3); $result_info['status'] = 'ok'; return $result_info; } } }
function pick_download() { $client_info = get_client_info(); $version_md5total = $_GET['md5_total']; $new_version_md5total = $_GET['new_md5_total']; $key = $_GET['key']; $version = $_GET['version']; $version_dateline = $_GET['version_dateline']; $i = intval($_GET['i']); if (!$client_info) { cpmsg_error(milu_lang('lan_upgrage')); } $p = intval($_GET['p']); $count = $_GET['count']; $file_md5 = $_GET['file_md5']; $tmpdir = DISCUZ_ROOT . './data/download/dxc_temp'; pload('C:cache'); $md5s = array(); $str = $_SERVER['QUERY_STRING']; if ($p == 0) { dir_clear($tmpdir); dmkdir($tmpdir, 0777, false); cpmsg(milu_lang('diff_upgrade_file'), PICK_GO . 'pick_info&ac=pick_download&key=' . $key . '&p=1', 'loading', '', false); } else { if ($p == 1) { $url = GET_URL . 'plugin.php?id=pick_user:upgrade&myac=download_file&php_version=' . phpversion() . '&tpl=no&domain=' . urlencode($client_info['domain']) . '&key=' . $key . '&file_md5=' . $file_md5; $data = get_contents($url, array('cache' => -1)); if (!$data || $data == '-1') { cpmsg_error(milu_lang('no_normal_get')); } $msg_arr = (array) json_decode(base64_decode($data)); if (!$_GET['file_md5']) { $download_file_data = upgrade_file_diff($msg_arr['md5']); $md5_temp_arr = array_keys($download_file_data); $version_md5total = md5(implode('', $md5_temp_arr)); $count = count($download_file_data); $version = $version ? $version : $msg_arr['Version']; $version_dateline = $version_dateline ? $version_dateline : $msg_arr['version_dateline']; } else { $download_file_data = load_cache('download_file_data'); $filename = $tmpdir . '/' . $msg_arr['file'] . '._addons_'; $dirname = dirname($filename); dmkdir($dirname, 0777, false); $fp = fopen($filename, 'w'); if (!$fp) { cpmsg('cloudaddons_download_write_error', '', 'error'); } fwrite($fp, gzuncompress(base64_decode($msg_arr['text']))); fclose($fp); if ($msg_arr['MD5']) { $new_version_md5total .= $msg_arr['MD5']; if ($msg_arr['MD5'] != md5_file($filename)) { dir_clear($tmpdir); cpmsg(milu_lang('cloudaddons_download_error'), '', 'error'); //数据下载错误 } } } $file_md5_arr = array_keys($download_file_data); $file_md5 = $file_md5_arr[$i]; $file = $download_file_data[$file_md5]; $p = $i == $count ? 2 : 1; $percent = $i / $count; $percent = sprintf("%01.0f", $percent * 100) . '%'; cache_data('download_file_data', $download_file_data); cpmsg(milu_lang('pick_upgrade_downloading_file', array('file' => $file, 'percent' => $percent)), PICK_GO . 'pick_info&ac=pick_download&i=' . ($i + 1) . '&md5_total=' . $version_md5total . '&new_md5_total=' . $new_version_md5total . '&key=' . $key . '&p=' . $p . '&version=' . $version . '&version_dateline=' . $version_dateline . '&count=' . $count . '&file_md5=' . $file_md5, 'loading', '', false); } else { if ($p == 2) { if ($new_version_md5total !== '' && md5($new_version_md5total) !== $version_md5total) { dir_clear($tmpdir); cpmsg(milu_lang('cloudaddons_download_error'), '', 'error'); //数据下载错误 } cpmsg(milu_lang('DXC_installing'), PICK_GO . 'pick_info&ac=pick_install&version=' . $version . '&version_dateline=' . $version_dateline, 'loading', '', false); } } } }
<?php if (!defined('IN_DISCUZ')) { exit('Access Denied'); } require_once DISCUZ_ROOT . 'source/plugin/milu_pick/config.inc.php'; pload('F:member,F:copyright,F:output'); $header_config = array('member_set', 'member_get', 'member_list', 'member_public_set', 'member_public', 'avatar_set', 'avatar_get'); $head_url = '?' . PICK_GO . 'member&myac='; $myac = $_GET['myac']; $tpl = $_GET['tpl']; if (empty($myac)) { $myac = 'member_set'; } if (function_exists($myac)) { $info = $myac(); } if ($myac == 'member_set' || $myac == 'member_list') { $info['tips'] = no_member_tips(); } $mytemp = $_REQUEST['mytemp'] ? $_REQUEST['mytemp'] : $myac; if (!$tpl && $tpl != 'no') { include template('milu_pick:' . $mytemp); }
function word_seo_replace($arr) { return $arr; //后来改为显示的时候seo了 pload('F:seo'); if ($arr['contents'] > 1) { //多页文章 $seo_arr = pick_seo_replace(array('title' => $arr['title']), 0, 0); $arr['title'] = $seo_arr['title']; $seo_arr = array(); foreach ($arr['content_arr'] as $k => $v) { $seo_arr = pick_seo_replace(array('content' => $v['content']), 0, 0); $v['content'] = $seo_arr['content']; $arr['content_arr'][$k] = $v; } } else { $arr = pick_seo_replace($arr, 0, 0); } return $arr; }
function article_public($arr) { global $_G; pload('F:article'); $timing_public_arr = array(); $is_timing = $this->plugin_set['is_timing']; //if(!VIP) $is_timing = 0; $class_arr = $this->p_arr['public_class']; $old_arr = $arr; $arr['title'] = htmlspecialchars_decode($arr['title'], ENT_QUOTES); $arr['content'] = htmlspecialchars_decode($arr['content'], ENT_QUOTES); unset($arr['pic']); $view_arr = format_wrap($this->p_arr['view_num'], ','); $arr['view_num'] = rand($view_arr[0], $view_arr[1]); $rand_arr = get_rand_uid($this->p_arr); $arr['p_arr'] = $this->p_arr; $arr['uid'] = $this->public_info['uid'] = $setarr['uid'] = $rand_arr[0]['uid'] ? $rand_arr[0]['uid'] : $_G['uid']; $arr['username'] = $setarr['username'] = $rand_arr[0]['username'] ? $rand_arr[0]['username'] : $_G['username']; $arr['portal_cid'] = $arr['forum_fid'] = $arr['blog_big_cid'] = $class_arr[0]; $arr['forum_typeid'] = $arr['blog_small_cid'] = $class_arr[1]; $arr['is_download_img'] = $this->p_arr['is_download_img']; $arr['is_download_file'] = $this->p_arr['is_download_file']; $arr['content_filter_html'] = $this->p_arr['content_filter_html']; $arr['is_water_img'] = $this->p_arr['is_water_img']; $arr['content'] = clear_ad_html($arr['content']); $arr['summary'] = addslashes($arr['summary']); $arr['public_start_time'] = $this->p_arr['public_start_time']; $arr['public_end_time'] = $this->p_arr['public_end_time']; $time_arr = create_public_time($arr, 1); $arr['public_time'] = $this->public_info['public_time'] = array_pop($time_arr); $arr['public_reply_seq'] = $this->p_arr['public_reply_seq']; $arr['is_public_reply'] = $this->p_arr['is_public_reply']; $arr['public_uid'] = $this->p_arr['public_uid']; $arr['reply_uid'] = $this->p_arr['reply_uid']; $arr['is_page_public'] = $this->p_arr['is_page_public']; $arr['check'] = 1; $arr['page_url'] = $this->now_url; $arr['is_bbs'] = $this->p_arr['reply_rules'] || $this->p_arr['reply_is_extend'] ? 1 : 0; $this->temp_arr['article_status'] = 2; $this->temp_arr['timeing_data_id'] = 0; //发布时间大于当前时间,放入定时发布中 if ($arr['public_time'] > $_G['timestamp'] && $is_timing == 1) { if ($this->p_arr['public_type'] == 1) { //门户 $timing_public_arr['portal'] = $class_arr[0]; } else { if ($this->p_arr['public_type'] == 2) { //论坛 $timing_public_arr['forums'] = $class_arr[0]; $timing_public_arr['threadtypeid'] = $class_arr[1]; } else { $timing_public_arr['blog'] = $class_arr[0]; $timing_public_arr['classid'] = $class_arr[1]; } } $this->temp_arr['article_status'] = 4; //文章入库时标记文章发布状态为定时发布 $timing_setarr = array('public_type' => $this->p_arr['public_type'], 'data_id' => 0, 'content_type' => 1, 'public_dateline' => $arr['public_time'], 'pid' => $this->pid, 'public_info' => serialize($timing_public_arr)); $this->temp_arr['timing_id'] = DB::insert('strayer_timing', $timing_setarr, TRUE); return; } if ($this->p_arr['is_word_replace'] == 1) { //同义词替换 if ($this->p_arr['is_bbs'] != 1 && $arr['contents'] > 0) { //有几页的文章 $arr['content_arr'] = article_words_replace($arr['content_arr'], $this->words); } $arr['content'] = article_words_replace($arr['content'], $this->words); $arr['title'] = article_words_replace($arr['title'], $this->words); if ($arr['reply']) { $arr['reply'] = article_words_replace($arr['reply'], $this->words); } } unset($arr['url']); //跟门户的跳转url重名 unset($arr['aid']); if ($this->p_arr['public_type'] == 2) { //论坛 if ($arr['contents'] > 1 && $arr['is_bbs'] == 0 && $this->p_arr['is_page_public'] != 1) { $arr['is_public_reply'] = 1; $arr['public_reply_seq'] = 0; $arr['is_content_reply'] = 1; $arr['is_bbs'] = 1; unset($arr['content_arr'][0]); $arr['reply'] = $arr['content_arr']; } else { if ($arr['is_bbs'] != 1) { $arr['reply'] = array(); } } $arr = article_move_forums($arr, $old_arr); if (!is_array($arr)) { if (!$arr) { return -1; } } $insert_aid = $setarr['forum_id'] = $arr['tid']; } else { if ($this->p_arr['public_type'] == 1) { //门户 $setarr['portal_id'] = $insert_aid = article_move_portal($arr, $old_arr); } else { //博客 $setarr['blog_id'] = $insert_aid = article_move_blog($arr, $old_arr); } } if ($insert_aid) { $arr['aid'] = $insert_aid; if ($this->p_arr['public_type'] == 2) { //论坛 $arr['cookie'] = $this->p_arr['login_cookie']; if ($arr['is_download_img'] == 1) { forum_downremotefile($arr, $old_arr); } } else { $type = $this->p_arr['public_type'] == 1 ? 'portal' : 'album'; $arr['cookie'] = $this->p_arr['login_cookie']; downremotefile($arr, $type, $old_arr); } if ($type == 'portal') { article_thumb($insert_aid); } } else { return -1; } $this->public_info['insert_aid'] = $insert_aid; $this->public_info['title'] = $arr['title']; return $insert_aid; }
<?php if (!defined('IN_DISCUZ')) { exit('Access Denied'); } require_once DISCUZ_ROOT . 'source/plugin/milu_pick/config.inc.php'; $header_config = array('fastpick_manage', 'fastpick_add', 'fastpick_import', 'fastpick_share'); $head_url = '?' . PICK_GO . 'system_rules&myac='; pload('F:rules,F:pick,F:copyright,F:output'); $myac = str_replace('fastpick', 'rules', $_GET['myac']); $tpl = $_GET['tpl']; if (empty($myac)) { $myac = 'rules_list'; } if ($myac == 'rules_add') { $myac = 'rules_edit'; } else { if ($myac == 'rules_del') { $tpl = 'no'; } else { if ($myac == 'rules_manage') { $myac = 'rules_list'; } } } if (function_exists($myac)) { $info = $myac(); } $mytemp = $_REQUEST['mytemp'] ? $_REQUEST['mytemp'] : $myac; if (!$tpl && $tpl != 'no') { include template('milu_pick:' . $mytemp);