function export_article() { global $_G; $pid = intval($_GET['pid']); $pick_info = get_pick_info($pid, 'name'); $query = DB::query("SELECT aid FROM " . DB::table('strayer_article_title') . " WHERE pid ='{$pid}' ORDER BY aid DESC"); while ($v = DB::fetch($query)) { $a_info = article_info($v['aid']); //print_r($a_info);exit(); if ($a_info) { $data[] = array('title' => $a_info['title'], 'summary' => $a_info['summary'], 'url_hash' => $a_info['url_hash'], 'url' => $a_info['url'], 'dateline' => $a_info['dateline'], 'content_arr' => $a_info['content_arr'], 'reply' => $a_info['content_arr'], 'is_bbs' => $a_info['is_bbs'], 'from' => $a_info['from'], 'fromurl' => $a_info['fromurl'], 'author' => $a_info['author'], 'article_tag' => $a_info['article_tag'], 'tag' => $a_info['tag'], 'pic' => $a_info['pic'], 'contents' => $a_info['contents'], 'reply_num' => $a_info['reply_num']); } } if (!$data) { cpmsg_error(milu_lang('no_article_export')); } $filename = $pick_info['name'] . milu_lang('export_article_count', array('c' => count($data))); export_article_file($data, $filename); }
function article_manage() { global $head_url, $header_config; $data = article_get_args(); $info = $data['info']; $args = $data['args']; $data = get_pick_info(); $info['public_class'] = unserialize($data['public_class']); $info['status'] = $args['status'] ? $args['status'] : intval($_GET['status']); $info['pid'] = $_GET['pid'] ? intval($_GET['pid']) : $args['pid']; //if(!VIP) unset($info['status_arr'][4]); foreach ($info['status_arr'] as $k => $v) { $info['a_c'][$k] = article_count($info['pid'], $k); } $info['oparea'] = $_GET['oparea']; $info['optype'] = $_GET['optype']; $args['pid'] = $info['pid']; $article_data = article_list($args); $info['pick'] = $data = get_pick_info(); if ($info['optype'] == 'move_portal') { $info['public_class'][0] = $_GET['portal']; } else { if ($info['optype'] == 'move_forums') { $info['public_class'][0] = $_GET['forums']; $info['public_class'][1] = $_GET['threadtypeid']; } else { if ($info['optype'] == 'move_blog') { $info['public_class'][0] = $_GET['blog']; } } } if ($_GET['time_public'] == 1) { $info['pick']['public_start_time'] = $info['pick']['public_end_time'] = ''; } $info['p'] = $_GET['p']; //判断是不是从采集器列表进来 $info['pick']['public_start_time'] = $_GET['public_start_time'] ? $_GET['public_start_time'] : $info['pick']['public_start_time']; $info['pick']['public_end_time'] = $_GET['public_end_time'] ? $_GET['public_end_time'] : $info['pick']['public_end_time']; $info['pick']['public_sort'] = $info['pick']['public_sort'] ? $info['pick']['public_sort'] : $_GET['public_sort']; $info['pick']['public_start_time'] = dgmdate($info['pick']['public_start_time']); $info['pick']['public_end_time'] = dgmdate($info['pick']['public_end_time']); $info['pick_select'] = pick_search_select('set[pid]', intval($info['pid'])); $info['article_move_pick_select'] = pick_search_select('move_pid', intval($_GET['move_pid']), $_GET['pid']); $info['rs'] = $article_data['rs']; $info['multipage'] = $article_data['multipage']; $info['count'] = $article_data['count']; if (!$info['p']) { $info['header'] = pick_header_output($header_config, $head_url); } $info['threadtypes'] = getthreadtypes(array('typeid' => $info['public_class'][1], 'fid' => $info['public_class'][0])); $info['forumselect'] = '<select id="forums" name="forums" onchange="getthreadtypes(this.value, 0)">' . forumselect(FALSE, 0, $info['public_class'][0], TRUE) . '</select>'; $info['forumselect_public'] = '<select id="public_forums" name="public_forums" >' . forumselect(FALSE, 0, $info['public_class'][0], TRUE) . '</select>'; $info['portalselect'] = category_showselect('portal', 'portal', FALSE, $info['public_class'][0]); $info['blogselect'] = category_showselect('blog', 'blog', TRUE, $info['public_class'][0]); $info['public_portalselect'] = category_showselect('portal', 'public_portal', FALSE, $info['public_class'][0]); $info['public_blogselect'] = category_showselect('blog', 'public_blog', TRUE, $info['public_class'][0]); $url_args = ''; unset($args['mpurl']); foreach ((array) $args as $k => $v) { if ($k == 'perpage' || $k == 'pid') { continue; } $url_args .= '&' . $k . '=' . $v; } $info['url_args'] = urlencode($url_args); return $info; }
function article_import($action, $args) { global $_G; $pick_common_set = get_pick_set(); $is_timing = $pick_common_set['is_timing']; //if(!VIP) $is_timing = 0; pload('F:spider'); $aid_arr = $args['aid'] ? $args['aid'] : $_GET['aid']; $op = 'article_' . $action; $type_arr = explode('_', $action); $type = $type_arr[1]; $pid = $args['pid'] ? $args['pid'] : intval($_GET['pid']); $p_arr = get_pick_info($pid); $view_arr = format_wrap($p_arr['view_num'], ','); $public_type = 1; if ($type == 'blog') { $public_type = 3; $type = 'album'; } if ($type == 'forums') { $public_type = 2; $type = 'forum'; } $today_public_num = 0; foreach ($aid_arr as $k => $aid) { $arr = $old_arr = article_info($aid); if (!$arr) { continue; } $arr['p_arr'] = $p_arr; $arr['public_start_time'] = $_GET['public_start_time'] ? $_GET['public_start_time'] : $p_arr['public_start_time']; $arr['public_end_time'] = $_GET['public_end_time'] ? $_GET['public_end_time'] : $p_arr['public_end_time']; $arr['public_time'] = 0; $time_arr = create_public_time($arr, 1); $arr['public_time'] = array_pop($time_arr); if ($args['cron_run'] && $args['public_time']) { $arr['public_time'] = $args['public_time'][$aid]; } $arr['title'] = htmlspecialchars_decode($arr['title'], ENT_QUOTES); $arr['content'] = htmlspecialchars_decode($arr['content'], ENT_QUOTES); $arr['title'] = format_html($arr['title']); $arr['content'] = format_html($arr['content']); unset($arr['pic']); $arr['view_num'] = rand($view_arr[0], $view_arr[1]); $rand_arr = get_rand_uid($p_arr); $arr['uid'] = $setarr['uid'] = $rand_arr[0]['uid'] ? $rand_arr[0]['uid'] : $_G['uid']; $arr['username'] = $setarr['username'] = $rand_arr[0]['username']; $arr['portal_cid'] = $timing_public_arr['portal'] = $args['portal'] ? $args['portal'] : $_GET['portal']; $arr['forum_fid'] = $timing_public_arr['forums'] = $args['forums'] ? $args['forums'] : $_GET['forums']; $arr['forum_typeid'] = $timing_public_arr['threadtypeid'] = $args['threadtypeid'] ? $args['threadtypeid'] : $_GET['threadtypeid']; $arr['blog_big_cid'] = $timing_public_arr['blog'] = $args['blog'] ? $args['blog'] : $_GET['blog']; $arr['blog_small_cid'] = $timing_public_arr['classid'] = $args['classid'] ? $args['classid'] : $_GET['classid']; $arr['is_download_img'] = $p_arr['is_download_img']; $arr['is_water_img'] = $p_arr['is_water_img']; $arr['content'] = clear_ad_html($arr['content']); $arr['summary'] = addslashes($arr['summary']); $arr['public_reply_seq'] = $p_arr['public_reply_seq']; $arr['is_public_reply'] = $p_arr['is_public_reply']; $arr['public_uid'] = $p_arr['public_uid']; $arr['reply_uid'] = $p_arr['reply_uid']; $arr['is_page_public'] = $p_arr['is_page_public']; $arr['page_url'] = $arr['url']; //发布时间大于当前时间,放入定时发布中 if ($arr['public_time'] > $_G['timestamp'] && $is_timing == 1) { $timing_setarr = array('public_type' => $public_type, 'data_id' => $aid, 'content_type' => 1, 'public_dateline' => $arr['public_time'], 'pid' => $pid, 'public_info' => serialize($timing_public_arr)); article_timing_add($timing_setarr); DB::update('strayer_article_title', array('status' => 4), array('aid' => $aid)); continue; } $arr['article_tag'] = $pick_common_set['open_tag'] == 1 && ($type == 'album' || $type == 'forum') && empty($arr['article_tag']) ? implode(',', dz_get_tag($arr['title'], $arr['content'], 1)) : $arr['article_tag']; $arr['cookie'] = $p_arr['login_cookie']; $arr['is_download_file'] = $p_arr['is_download_file']; $arr['content_filter_html'] = unserialize(dstripslashes($p_arr['content_filter_html'])); if ($arr['contents'] > 1 && $arr['is_bbs'] == 0 && $type == 'forum' && $p_arr['is_page_public'] == 2) { $arr['is_public_reply'] = 1; $arr['public_reply_seq'] = 0; $arr['is_content_reply'] = 1; $arr['is_bbs'] = 1; } else { if ($arr['is_bbs'] != 1) { $arr['reply'] = array(); } } if ($p_arr['is_word_replace'] == 1) { //同义词替换 if ($p_arr['is_bbs'] != 1 && $arr['contents'] > 1) { //有几页的文章 $arr['content_arr'] = article_words_replace($arr['content_arr']); } $arr['content'] = article_words_replace($arr['content']); if ($arr['reply']) { $arr['reply'] = article_words_replace($arr['reply']); } $arr['title'] = article_words_replace($arr['title']); } $arr['content'] = clear_ad_html($arr['content']); unset($arr['url']); //跟门户的跳转url重名 unset($arr['aid']); if ($type == 'forum') { $arr = $op($arr, $old_arr); $insert_aid = $setarr['forum_id'] = $arr['tid']; } else { $insert_aid = $op($arr, $old_arr); if ($type == 'portal') { $setarr['portal_id'] = $insert_aid; } else { $setarr['blog_id'] = $insert_aid; } } if ($insert_aid) { $arr['aid'] = $insert_aid; $arr['cookie'] = $p_arr['login_cookie']; if ($type == 'forum') { if ($arr['is_download_img'] == 1 || $arr['is_download_file'] == 1) { forum_downremotefile($arr, $old_arr); } } else { downremotefile($arr, $type, $old_arr); } if ($type == 'portal') { article_thumb($insert_aid); } } $p_arr['is_public_del'] = $p_arr['is_public_del'] ? $p_arr['is_public_del'] : intval($_GET['is_public_del']); $setarr['status'] = 2; $setarr['article_tag'] = $arr['article_tag']; $today_public_num++; if ($p_arr['is_public_del'] != 1 && $insert_aid) { DB::update('strayer_article_title', $setarr, array('aid' => $aid)); } } if (VIP) { $today_arr = dunserialize(pick_common_get('', 'pick_today')); $c_set['pick_today']['day'] = date('md', $_G['timestamp']); $c_set['pick_today']['article_public_num'] = $today_public_num + $today_arr['article_public_num']; pick_common_set($c_set); } if ($p_arr['is_public_del'] == 1) { article_delete($aid_arr); } //导入之后删除 return $insert_aid; }
cpmsg_error(milu_lang('pick_name_no_empty')); } if ($_GET['pid'] && $_GET['add'] != 'copy') { $pid = $_GET['pid']; if (empty($setarr['rules_hash'])) { $setarr['rules_hash'] = ''; } if (empty($setarr['page_url_auto'])) { $setarr['page_url_auto'] = 0; } $msg = milu_lang('modify'); if (empty($setarr['reply_is_extend'])) { $setarr['reply_is_extend'] = 0; } $setarr = paddslashes($setarr); $data_info = get_pick_info(); if ($data_info['cron_day'] == 0) { $data_info['cron_day'] = -1; } //数据库中的字段类型为未签署,导致没法小于0 if ($data_info['cron_minute'] != $setarr['cron_minute'] || $data_info['cron_hour'] != $setarr['cron_hour'] || $data_info['cron_day'] != $setarr['cron_day'] || $data_info['cron_weekday'] != $setarr['cron_weekday']) { //计划任务修改时,把下次执行时间清空 save_syscache('pick_run', TIMESTAMP); $setarr['lastrun'] = $setarr['nextrun'] = 0; } DB::update('strayer_picker', $setarr, array('pid' => $pid)); $url = PICK_GO . 'picker_manage'; } else { $msg = milu_lang('add'); $setarr = paddslashes($setarr); $setarr['picker_hash'] = create_hash();
function _ini_config($pid = 0, $is_cron = 0) { global $_G; $this->error = ''; if ($pid == 0 && $is_cron > 0) { $this->error = 1; return; } $this->pid = $pid > 0 ? intval($pid) : intval($_GET['pid']); $this->pick_cache_data = load_cache('pick' . $this->pid); $this->i = $this->pick_cache_data['i'] ? $this->pick_cache_data['i'] : 1; $this->v_i = $this->pick_cache_data['v_i'] ? $this->pick_cache_data['v_i'] : 0; $this->a = $this->pick_cache_data['a'] ? $this->pick_cache_data['a'] : 0; $this->v_a = $this->pick_cache_data['v_a'] ? $this->pick_cache_data['v_a'] : 0; $this->all_get_time = $this->pick_cache_data['all_get_time'] ? $this->pick_cache_data['all_get_time'] : 0; $this->temp_arr['have_reply'] = 0; $this->plugin_set = get_pick_set(); if ($is_cron > 0 && $this->plugin_set['is_log_cron'] > 0) { $is_log = 1; } $this->msg_args = array('is_cron' => $is_cron, 'pid' => $this->pid, 'is_log' => $is_log); if ($this->i == 1) { show_pick_info(milu_lang('pick_start'), '', $this->msg_args); } $p_arr = get_pick_info($this->pid); $p_arr = pstripslashes($p_arr); //if(!VIP) unset($p_arr['reply_rules'],$p_arr['reply_is_extend'], $p_arr['content_page_rules']); if ($p_arr['rules_type'] == 3) { $p_arr['url_range_type'] = ''; } //新增 $this->pick_set = pick_common_get(); //插件设置 $this->pick_config = $_G['cache']['evn_milu_pick']; $p_arr['rules_var'] = dstripslashes(unserialize($p_arr['rules_var'])); $p_arr['many_page_list'] = dstripslashes(unserialize($p_arr['many_page_list'])); $p_arr['title_filter_rules'] = dstripslashes(unserialize($p_arr['title_filter_rules'])); $p_arr['content_filter_rules'] = dstripslashes(unserialize($p_arr['content_filter_rules'])); $p_arr['reply_filter_rules'] = dstripslashes(unserialize($p_arr['reply_filter_rules'])); $p_arr['content_filter_html'] = dstripslashes(unserialize($p_arr['content_filter_html'])); $p_arr['reply_filter_html'] = dstripslashes(unserialize($p_arr['reply_filter_html'])); $p_arr['public_class'] = dstripslashes(unserialize($p_arr['public_class'])); //发布分类 //if(!VIP) $p_arr['is_auto_public'] = 0; if ($p_arr['is_login'] == 2) { $p_arr['login_cookie'] = ''; } if (!$p_arr['reply_max_num']) { $p_arr['reply_max_num'] = 200000; } //如果没有设置回复,这个就是最大数目了 if ($p_arr['reply_is_extend']) { //继承内容规则 $p_arr['reply_get_type'] = $p_arr['content_get_type']; $p_arr['reply_rules'] = $p_arr['content_rules']; if ($p_arr['is_fiter_content'] == 1) { //内容是过滤的 if ($p_arr['is_fiter_reply'] == 1) { //回复是过滤的 $p_arr['reply_replace_rules'] = array_merge((array) $p_arr['reply_replace_rules'], (array) $p_arr['content_replace_rules']); $p_arr['reply_filter_rules'] = array_merge((array) $p_arr['content_filter_rules'], (array) $p_arr['reply_filter_rules']); $p_arr['reply_filter_html'] = array_merge((array) $p_arr['content_filter_html'], (array) $p_arr['reply_filter_html']); } else { //内容过滤,回复不过滤 $p_arr['reply_replace_rules'] = $p_arr['content_replace_rules']; $p_arr['reply_filter_rules'] = $p_arr['content_filter_rules']; $p_arr['reply_filter_html'] = $p_arr['content_filter_html']; $p_arr['is_fiter_reply'] = 1; } } } $p_arr['stop_time'] = explode(',', $p_arr['stop_time']); $p_arr['stop_time'] = array_map('intval', $p_arr['stop_time']); $this->p_arr = $p_arr; $rules_hash = $this->p_arr['rules_hash']; if ($this->p_arr['is_auto_public'] == 1 && !$this->p_arr['public_class'][0]) { //既设置了自动发布,又没有设置发布栏目 $this->error = 1; show_pick_info(milu_lang('no_set_public_class'), 'exit', $this->msg_args); return; } if ($this->p_arr['is_auto_public'] == 1 && $this->p_arr['is_word_replace'] == 1) { //即自动发布,又设置了同义词替换 $this->words = get_replace_words(); } pload('F:rules'); if ($rules_hash) { $r_arr = get_rules_info($rules_hash); } $r_arr = pstripslashes($r_arr); $r_arr['url_var'] = dstripslashes(unserialize($r_arr['url_var'])); $this->r_arr = $r_arr; $this->rid = $r_arr['rid']; $this->now_level = $this->pick_cache_data['now_level']; $this->max_level = $this->pick_cache_data['max_level']; if (!$this->pick_cache_data) { update_times($this->pid); } if (!$this->pick_cache_data['start_time']) { $this->pick_cache_data['start_time'] = TIMESTAMP; } $this->cache_time = PICK_ENABLE_CACHE ? 3600 * 24 : -1; //缓存 }