Example #1
0
function paddslashes($data)
{
    if (is_array($data)) {
        foreach ($data as $key => $val) {
            $data[paddslashes($key)] = paddslashes($val);
        }
    } else {
        $data = str_replace('\\"', '"', addslashes($data));
    }
    return $data;
}
Example #2
0
function rules_add($rules_data)
{
    if (!$rules_data) {
        return;
    }
    $rules_data = serialize_iconv($rules_data);
    $rules_data = get_table_field_name('strayer_rules', $rules_data);
    $rules_hash = $rules_data['rules_hash'];
    $check = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('strayer_rules') . " WHERE rules_hash ='" . $rules_hash . "'"), 0);
    $rules_data = paddslashes($rules_data);
    unset($rules_data['rid']);
    del_search_index(2);
    if ($check) {
        DB::update("strayer_rules", $rules_data, array("rules_hash" => $rules_hash));
        return 1;
    } else {
        $pid = DB::insert('strayer_rules', $rules_data, TRUE);
        return 2;
    }
}
Example #3
0
function pick_reg($info)
{
    $member = $info;
    extract($info);
    global $_G;
    loaducenter();
    require_once libfile('function/misc');
    require_once libfile('function/profile');
    include_once libfile('class/member');
    $activation = array();
    if (!$activation) {
        $usernamelen = dstrlen($username);
        if ($usernamelen < 3) {
            return milu_lang('too_short');
        } elseif ($usernamelen > 15) {
            return milu_lang('too_long');
        }
        $username = addslashes(trim(dstripslashes($username)));
        $email = trim($email);
    }
    if (!$activation) {
        $uid = uc_user_register($username, $password, $email, $questionid, $answer, $_G['clientip']);
        if ($uid <= 0) {
            if ($uid == -1) {
                return milu_lang('bad_word');
            } elseif ($uid == -2) {
                return milu_lang('system_bad_word');
            } elseif ($uid == -3) {
                return milu_lang('reged');
            } elseif ($uid == -4) {
                return milu_lang('wrong_email');
            } elseif ($uid == -5) {
                return milu_lang('bad_email');
            } elseif ($uid == -6) {
                return milu_lang('email_reged');
            } else {
                return milu_lang('unknow_error');
            }
        }
    } else {
        list($uid, $username, $email) = $activation;
    }
    if (DB::result_first("SELECT uid FROM " . DB::table('common_member') . " WHERE uid='{$uid}'")) {
        if (!$activation) {
            uc_user_delete($uid);
        }
        return milu_lang('uid_reged');
    }
    $init_arr = explode(',', $_G['setting']['initcredits']);
    $groupinfo['groupid'] = $_G['setting']['newusergroupid'];
    $password = md5(random(10));
    $secques = $questionid > 0 ? random(8) : '';
    //用户资料
    $profile['constellation'] = get_constellation($birthmonth, $birthday);
    $profile['zodiac'] = get_zodiac($birthyear);
    $profile['gender'] = $gender == milu_lang('baomi') ? 0 : ($gender == milu_lang('man') ? 1 : 0);
    $profile_field_arr = array('birthyear', 'birthmonth', 'birthday', 'birthprovince', 'birthcity', 'birthdist', 'birthcommunity', 'resideprovince', 'residecity', 'residedist', 'residecommunity', 'residesuite', 'site', 'bio', 'interest', 'idcardtype', 'idcard', 'bloodtype', 'height', 'weight', 'qq', 'msn', 'taobao', 'yahoo', 'icq', 'alipay', 'lookingfor', 'position', 'occupation', 'education', 'company', 'graduateschool', 'revenue', 'telephone', 'mobile', 'constellation', 'realname', 'zodiac', 'affectivestatus');
    foreach ($profile_field_arr as $k => $v) {
        $profile[$v] = ${$v};
    }
    $lastactivity = rand($regdate, $regdate + 3600 * 24 * 2);
    if ($regipsql) {
        DB::query($regipsql);
    }
    $credits = 0;
    if (!empty($_G['setting']['creditsformula'])) {
        eval("\$credits = round(" . $_G['setting']['creditsformula'] . ");");
    }
    $userdata = array('uid' => $uid, 'username' => $username, 'password' => $password, 'email' => $email, 'adminid' => 0, 'groupid' => $groupinfo['groupid'], 'regdate' => $regdate, 'credits' => $credits, 'timeoffset' => 9999);
    $status_data = array('uid' => $uid, 'regip' => $regip, 'lastip' => $lastip, 'lastvisit' => $lastvisit, 'lastactivity' => $lastactivity, 'lastpost' => $lastpost, 'lastsendmail' => 0);
    $profile['uid'] = $uid;
    $field_forum['uid'] = $uid;
    $field_forum['sightml'] = $sightmlm;
    $field_home['uid'] = $uid;
    DB::insert('common_member', paddslashes($userdata));
    DB::insert('common_member_status', paddslashes($status_data));
    DB::insert('common_member_profile', paddslashes($profile));
    DB::insert('common_member_field_forum', paddslashes($field_forum));
    DB::insert('common_member_field_home', paddslashes($field_home));
    if ($verifyarr) {
        $setverify = array('uid' => $uid, 'username' => $username, 'verifytype' => '0', 'field' => daddslashes(serialize($verifyarr)), 'dateline' => $lastactivity);
        DB::insert('common_member_verify_info', $setverify);
        DB::insert('common_member_verify', array('uid' => $uid));
    }
    $count_data = array('uid' => $uid, 'oltime' => $oltime ? $oltime : 0, 'extcredits1' => $extcredits1 ? $extcredits1 : $init_arr[1], 'extcredits2' => $extcredits2 ? $extcredits2 : $init_arr[2], 'extcredits3' => $extcredits3 ? $extcredits3 : $init_arr[3], 'extcredits4' => $extcredits4 ? $extcredits4 : $init_arr[4], 'extcredits5' => $extcredits5 ? $extcredits5 : $init_arr[5], 'extcredits6' => $extcredits6 ? $extcredits6 : $init_arr[6], 'extcredits7' => $extcredits7 ? $extcredits7 : $init_arr[7], 'extcredits8' => $extcredits8 ? $extcredits8 : $init_arr[8]);
    DB::insert('common_member_count', paddslashes($count_data));
    DB::insert('common_setting', array('skey' => 'lastmember', 'svalue' => $username), false, true);
    manyoulog('user', $uid, 'add');
    $totalmembers = DB::result_first("SELECT COUNT(*) FROM " . DB::table('common_member'));
    $userstats = array('totalmembers' => $totalmembers, 'newsetuser' => $username);
    checkusergroup($uid);
    //更新用户所在的用户组
    save_syscache('userstats', $userstats);
    $re_arr['uid'] = $uid;
    return $re_arr;
}
Example #4
0
function write_evo_errlog($data, $url, $rule_info, $type = 0)
{
    global $_G;
    if (!$rule_info || !$url) {
        return;
    }
    if ($data['title'] && $data['content']) {
        return;
    }
    if (!$data['title'] && $data['content']) {
        $why = 1;
    } else {
        if (!$data['content'] && $data['title']) {
            $why = 2;
        } else {
            $why = 0;
        }
    }
    $p_key = 'id';
    if (!$type) {
        if (array_key_exists('url_var', $rule_info)) {
            //内置规则
            $type = 2;
            $p_key = 'rid';
        } else {
            if (array_key_exists('evo_title_info', $rule_info)) {
                //学习到的规则
                $type = 3;
            } else {
                $type = 1;
            }
        }
    }
    if (!$rule_info[$p_key]) {
        return;
    }
    $set['why'] = $why;
    $set['dateline'] = $_G['timestamp'];
    $set['type'] = $type;
    $set['url'] = $url;
    $set['data_id'] = $rule_info[$p_key];
    $set['rules_name'] = $rule_info['rules_name'];
    $count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('strayer_evo_log') . " WHERE type='{$type}' AND data_id='{$rule_info[$p_key]}' AND url='" . daddslashes($url) . "'"), 0);
    if ($count) {
        return;
    }
    $set = paddslashes($set);
    return DB::insert('strayer_evo_log', $set, TRUE);
}
Example #5
0
function import_article_data($data, $pid = '')
{
    $pid = $pid ? $pid : intval($_GET['pid']);
    if (!is_array($data)) {
        return;
    }
    $c = 0;
    foreach ($data as $k => $v) {
        $content_arr = $v['is_bbs'] == 1 ? $v['reply'] : $v['content_arr'];
        unset($v['content_arr'], $v['reply']);
        $v = paddslashes($v);
        if (!$v['url_hash']) {
            continue;
        }
        $count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('strayer_article_title') . " WHERE url_hash='{$v['url_hash']}' AND pid='{$pid}'"), 0);
        if ($count) {
            continue;
        }
        $v['pid'] = $pid;
        unset($v['aid']);
        $aid = DB::insert('strayer_article_title', $v, TRUE);
        $c++;
        unset($setarr);
        foreach ($content_arr as $k2 => $v2) {
            $v2['aid'] = $aid;
            unset($v2['cid']);
            $v2 = paddslashes($v2);
            $cid = DB::insert('strayer_article_content', $v2, TRUE);
        }
    }
    return $c;
}
Example #6
0
 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;
         }
     }
 }
Example #7
0
<?php

define('PHPHOTPIC', '0.6.2');
$base = array('time_start' => microtime(), 'name' => $_SERVER['PHP_SELF'], 'dir' => dirname(__FILE__) . '/');
if (!file_exists($base['dir'] . 'data/config.php')) {
    header('Location: install/install.php');
    exit;
}
require_once $base['dir'] . 'data/config.php';
require_once $base['dir'] . 'source/core.func.php';
require_once $base['dir'] . 'source/mysqldb.class.php';
$base['post'] = paddslashes($_POST);
$base['get'] = paddslashes($_GET);
$base['cookie'] = paddslashes($_COOKIE);
unset($_POST);
unset($_GET);
unset($_COOKIE);
$langset = $base['cookie']['lang'] ? $base['cookie']['lang'] : $config['lang'];
require_once $base['dir'] . 'lang/langset.php';
$langset = in_array($langset, array_keys($all_lang)) ? $langset : $base['cookie']['lang'];
require_once $base['dir'] . 'lang/' . $langset . '/all.lang.php';
$base['lang'] = $lang;
unset($lang);
$base['config'] = $config;
unset($config);
$db = new mysql_database();
if (!$db->connect($base['config']['db'])) {
    error_report($base['lang']['db_connect_error']);
}
if ($base['get']['mod'] == '') {
    $base['get']['mod'] = 'index';
Example #8
0
            $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();
        $pid = DB::insert('strayer_picker', $setarr, TRUE);
    }
    $url = PICK_GO . 'picker_manage&myaction=edit_pick&pid=' . $pid . '&step=' . $_GET['step'];
    if (!$pid) {
        cpmsg_error($msg . milu_lang('fail'));
    }
    cpmsg(milu_lang('pick_op_finsh', array('msg' => $msg)), $url, 'succeed');
}
if (!$info['jump_num']) {
    $info['jump_num'] = $pick_config['pick_num'];
}
include template('milu_pick:picker_edit');
Example #9
0
function article_edit()
{
    global $_G;
    include_once libfile('function/portalcp');
    include_once libfile('function/spacecp');
    include_once libfile('function/home');
    require_once libfile('function/forumlist');
    pload('F:spider');
    if ($_GET['submit']) {
        $setarr = $_GET['set'];
        if (check_uid($setarr['uid']) == 'no') {
            cpmsg_error(milu_lang('user_no_exists'));
        }
        $pick_common_set = get_pick_set();
        $pid = intval($_GET['pid']);
        $p_arr = get_pick_info($pid);
        $setarr['portal_cid'] = $_GET['portal'];
        $setarr['forum_fid'] = $_GET['forums'];
        $setarr['forum_typeid'] = $_GET['threadtypeid'];
        $setarr['blog_big_cid'] = $_GET['blog'];
        $setarr['blog_small_cid'] = $_GET['classid'];
        $setarr['title'] = getstr(trim($setarr['title']), 80, 1, 1);
        if (strlen($setarr['title']) < 1) {
            cpmsg_error(milu_lang('title_no_empty'));
        }
        if (empty($setarr['summary'])) {
            $setarr['summary'] = portalcp_get_summary(stripslashes($_GET['message']));
        }
        $set_arr['summary'] = addslashes($setarr['summary']);
        $setarr['public_time'] = strtotime($setarr['public_time']);
        $setarr['from'] = dhtmlspecialchars($setarr['from']);
        $setarr['article_tag'] = dhtmlspecialchars($setarr['article_tag']);
        $setarr['fromurl'] = str_replace('&amp;', '&', dhtmlspecialchars($setarr['fromurl']));
        $aid = intval($_GET['aid']);
        $pid = intval($_GET['pid']);
        $status = intval($_GET['status']);
        $relatedarr = array();
        if ($_GET['raids']) {
            $relatedarr = array_map('intval', $_GET['raids']);
            $relatedarr = array_unique($relatedarr);
            $relatedarr = array_filter($relatedarr);
            $setarr['raids'] = serialize($relatedarr);
        }
        $setarr['tag'] = article_make_tag($_GET['tag']);
        $setarr['last_modify'] = $_G['timestamp'];
        $user_info = get_user_info($setarr['uid']);
        $setarr['username'] = $user_info['username'];
        $article_arr = $setarr;
        DB::update('strayer_article_title', paddslashes($setarr), array('aid' => $aid));
        $article_arr['is_download_img'] = $setarr['is_download_img'];
        $article_arr['is_water_img'] = $setarr['is_water_img'];
        $setarr = array();
        $content = $_GET['message'];
        if (!$_GET['is_bbs']) {
            $regexp = '/(###NextPage(\\[title=(.*?)\\])?###)+/';
            preg_match_all($regexp, $content, $arr);
            $contents = preg_split($regexp, $content);
            DB::delete('strayer_article_content', "aid='{$aid}'");
            foreach ($contents as $k => $v) {
                $v = dstripslashes($v);
                $setarr['content'] = trim($v);
                $setarr['pageorder'] = $k + 1;
                $setarr['aid'] = $aid;
                $setarr['dateline'] = $_G['timestamp'];
                $article_arr['content_arr'][$k] = $setarr;
                DB::insert("strayer_article_content", paddslashes($setarr), true);
            }
        } else {
            //如果是带回复的
            $setarr['content'] = trim($content);
            $setarr = dstripslashes($setarr);
            DB::update("strayer_article_content", paddslashes($setarr), array('aid' => $aid, 'pageorder' => 1));
        }
        //var_dump($aid);exit();
        $setarr = array();
        $article_view_url = '';
        if ($_GET['public_flag']) {
            $select = $_GET['select'];
            $article_arr['is_bbs'] = $_GET['is_bbs'];
            $article_arr['contents'] = $article_arr['is_bbs'] ? 1 : count($contents);
            $article_arr['content'] = dstripslashes(clear_ad_html($_GET['message']));
            $article_arr['public_reply_seq'] = $p_arr['public_reply_seq'];
            $article_arr['is_public_reply'] = $p_arr['is_public_reply'];
            $article_arr['reply_uid'] = $p_arr['reply_uid'];
            $article_arr['is_page_public'] = $p_arr['is_page_public'];
            if ($p_arr['is_word_replace'] == 1) {
                //同义词替换
                if ($article_arr['is_bbs'] != 1 && $article_arr['contents'] > 0) {
                    //有几页的文章
                    $article_arr['content_arr'] = article_words_replace($article_arr['content_arr']);
                }
                $article_arr['content'] = article_words_replace($article_arr['content']);
                $article_arr['title'] = article_words_replace($article_arr['title']);
                if ($article_arr['reply']) {
                    $article_arr['reply'] = article_words_replace($article_arr['reply']);
                }
            }
            $article_arr['content'] = str_replace("###NextPage###", "<\\br>", $article_arr['content']);
            $arr['content'] = htmlspecialchars_decode($arr['content'], ENT_QUOTES);
            $arr['content'] = format_html($arr['content']);
            $data_article_arr = article_info($aid);
            $is_timing = $pick_common_set['is_timing'];
            //if(!VIP) $is_timing = 0;
            //发布时间大于当前时间,放入定时发布中
            if ($article_arr['public_time'] > $_G['timestamp'] && $is_timing == 1 && $aid) {
                if ($select == 1) {
                    //门户
                    $timing_public_arr['portal'] = $article_arr['portal_cid'];
                } else {
                    if ($select == 2) {
                        //论坛
                        $timing_public_arr['forums'] = $article_arr['forum_fid'];
                        $timing_public_arr['threadtypeid'] = $article_arr['forum_typeid'];
                    } else {
                        $timing_public_arr['blog'] = $article_arr['blog_big_cid'];
                        $timing_public_arr['classid'] = $article_arr['blog_small_cid'];
                    }
                }
                $timing_setarr = array('public_type' => $select, 'data_id' => $aid, 'content_type' => 1, 'public_dateline' => $article_arr['public_time'], 'pid' => $pid, 'public_info' => serialize($timing_public_arr));
                article_timing_add($timing_setarr);
                cpmsg(milu_lang('article_public_timming', array('d' => dgmdate($article_arr['public_time'], 'u'))), PICK_GO . 'picker_manage&myfunc=article_edit&aid=' . $aid . '&pid=' . $pid, 'succeed');
                return;
            }
            if ($select == 1) {
                //门户
                $old_arr['portal_id'] = intval($_GET['old_portal_id']);
                $article_arr['relatedarr'] = $relatedarr;
                $setarr['portal_id'] = $article_arr['aid'] = article_move_portal($article_arr, $old_arr);
                //var_dump($setarr['portal_id']);exit();
                $article_arr['cookie'] = $p_arr['login_cookie'];
                $article_arr['page_url'] = $data_article_arr['url'];
                $article_arr['is_download_file'] = $p_arr['is_download_file'];
                $article_arr['content_filter_html'] = unserialize(dstripslashes($p_arr['content_filter_html']));
                downremotefile($article_arr, 'portal', $old_arr);
                article_thumb($setarr['portal_id']);
                $article_view_url = 'portal.php?mod=view&aid=' . $setarr['portal_id'];
            } else {
                if ($select == 2) {
                    //论坛
                    if ($article_arr['contents'] > 1 && $article_arr['is_bbs'] == 0 && $p_arr['is_page_public'] == 1) {
                        $article_arr['is_public_reply'] = 1;
                        $article_arr['public_reply_seq'] = 0;
                        $article_arr['is_content_reply'] = 1;
                        $article_arr['is_bbs'] = 1;
                        $article_arr['content'] = $article_arr['content_arr'][0]['content'];
                    } else {
                        if ($article_arr['is_bbs'] != 1) {
                            $article_arr['reply'] = array();
                        }
                    }
                    if ($article_arr['is_bbs']) {
                        $article_arr['reply'] = $data_article_arr['reply'];
                    }
                    $article_arr['cookie'] = $p_arr['login_cookie'];
                    $article_arr['page_url'] = $data_article_arr['url'];
                    $old_arr['forum_id'] = intval($_GET['old_forum_id']);
                    $forum_arr = article_move_forums($article_arr, $old_arr);
                    if ($forum_arr['is_download_img'] == 1) {
                        //下载图片
                        $forum_arr['cookie'] = $p_arr['login_cookie'];
                        $forum_arr['is_download_img'] = $article_arr['is_download_img'];
                        $forum_arr['is_download_file'] = $p_arr['is_download_file'];
                        $forum_arr['is_water_img'] = $article_arr['is_water_img'];
                        forum_downremotefile($forum_arr, $old_arr);
                    }
                    $setarr['forum_id'] = $article_arr['tid'] = $forum_arr['tid'];
                    $article_view_url = 'forum.php?mod=viewthread&tid=' . $setarr['forum_id'];
                } else {
                    //博客
                    $old_arr['catid'] = intval($_GET['old_blog_big_cid']);
                    $old_arr['classid'] = intval($_GET['old_blog_small_cid']);
                    $old_arr['uid'] = intval($_GET['old_uid']);
                    $old_arr['username'] = $_GET['old_username'];
                    $old_arr['blog_id'] = $_GET['old_blog_id'];
                    $setarr['blog_id'] = $article_arr['aid'] = article_move_blog($article_arr, $old_arr);
                    $article_arr['cookie'] = $p_arr['login_cookie'];
                    $article_arr['page_url'] = $data_article_arr['url'];
                    $arr['is_download_file'] = $p_arr['is_download_file'];
                    $arr['content_filter_html'] = unserialize(dstripslashes($p_arr['content_filter_html']));
                    downremotefile($article_arr, 'album', $old_arr);
                    $article_view_url = 'home.php?mod=space&do=blog&uid=' . $article_arr['uid'] . '&id=' . $setarr['blog_id'];
                }
            }
            $setarr['status'] = 2;
            DB::update('strayer_article_title', $setarr, array('aid' => $aid));
        }
        $msg = $_GET['public_flag'] ? milu_lang('public') : milu_lang('save');
        $return_url = '?' . PICK_GO . 'picker_manage&myac=article_manage&p=1&pid=' . $pid . $_GET['url_args'];
        $return_list_html = '<a href="' . $return_url . '">' . milu_lang('return_list') . '</a>';
        if ($article_view_url) {
            $article_view_output = '&nbsp;<span class="pipe">|</span>&nbsp;<a target="_blank" href="' . $article_view_url . '">' . milu_lang('view_article') . '</a>';
        }
        cpmsg(milu_lang('save_success', array('msg' => $msg)) . '<br><br><a href="?' . PICK_GO . 'picker_manage&myfunc=article_edit&aid=' . $aid . '&pid=' . $pid . '">' . milu_lang('continue_edit') . '</a>&nbsp;<span class="pipe">|</span>&nbsp;' . $return_list_html . $article_view_output, PICK_GO . 'picker_manage&myfunc=article_edit&aid=' . $aid . '&pid=' . $pid, 'succeed');
    } else {
        $pid = intval($_GET['pid']);
        $p_arr = get_pick_info($pid);
        $p_arr['public_class'] = unserialize($p_arr['public_class']);
        $aid = intval($_GET['aid']);
        $data = article_info($aid);
        $data['p_arr'] = $p_arr;
        $data['status'] = intval($_GET['status']);
        if (!$data['view_num']) {
            $view_arr = format_wrap($p_arr['view_num'], ',');
            if ($view_arr) {
                $data['view_num'] = rand($view_arr[0], $view_arr[1]);
            }
        }
        if ($data['contents'] > 1) {
            if ($data['content_arr']) {
                $data['content'] = content_merge($data['content_arr'], 1);
            }
        }
        $time_arr = create_public_time($data, 1);
        $data['public_time'] = array_pop($time_arr);
        $data['public_time'] = dgmdate($data['public_time'], 'Y-m-d H:i');
        if (!$data['uid']) {
            $rand_arr = get_rand_uid($p_arr);
            $data['uid'] = $rand_arr[0]['uid'];
        }
        $data['raids'] = unserialize($data['raids']);
        if ($data['raids']) {
            $query = DB::query("SELECT title,aid FROM " . DB::table('portal_article_title') . " WHERE aid IN (" . dimplode($data['raids']) . ")");
            $list = array();
            while ($value = DB::fetch($query)) {
                $list[$value['aid']] = $value;
                $data['raids_html'] .= '<li id="raid_li_' . $value['aid'] . '"><input type="hidden" name="raids[]" value="' . $value['aid'] . '" size="5"><a href="portal.php?mod=view&aid=' . $value['aid'] . '" target="_blank">' . $value['title'] . '</a>(' . milu_lang('article') . ' ID: ' . $value['aid'] . ')<a href="javascript:;" onclick="raid_delete(' . $value['aid'] . ');" class="xg1">' . milu_lang('del') . '</a></li>';
            }
        }
        if (!$data['forum_typeid']) {
            $data['forum_typeid'] = $p_arr['public_class'][1];
        }
        $data['threadtypes'] = getthreadtypes(array('typeid' => $p_arr['public_class'][1], 'fid' => $p_arr['public_class'][0]));
        $data['forumselect'] = '<select id="forums" name="forums" onchange="getthreadtypes(this.value, 0)">' . forumselect(FALSE, 0, $p_arr['public_class'][0], TRUE) . '</select>&nbsp;&nbsp;<span id="threadtypes">' . $data['threadtypes'] . '</span>';
        $data['portalselect'] = category_showselect('portal', 'portal', $p_arr['public_class'][0]);
        $data['blogselect'] = category_showselect('blog', 'blog', $p_arr['public_class'][0]);
        $data['article_tags'] = article_parse_tags($data['tag']);
        $data['tag_names'] = article_tagnames();
        $data['show_blog_class'] = get_person_blog_class($data['uid'], $data['blog_small_cid']);
        $data['pid'] = $pid;
        $data['public_type'] = $p_arr['public_type'];
        $data['content'] = dhtmlspecialchars($data['content']);
        $data['url_args'] = $_GET['url_args'];
        return $data;
    }
}
Example #10
0
 function create_article($arr)
 {
     global $_G;
     $this->status_arr = array_merge($this->msg_args, $this->status_arr);
     $this->status_arr['now'] = $this->temp_arr['normal_now'];
     //print_r($this->p_arr);exit();
     if ($this->p_arr['is_auto_public'] == 1 && $this->p_arr['public_class'][0]) {
         //自动发布文章
         $public_aid = $this->article_public($arr);
         if ($public_aid < 0) {
             show_pick_info(milu_lang('article_publiced'), 'err', $this->status_arr);
             $this->v_a++;
             $this->pick_cache_data['v_a'] = $this->v_a;
             return FALSE;
         }
         if ($this->p_arr['public_type'] == 1) {
             $setarr['portal_id'] = $public_aid;
         } else {
             if ($this->p_arr['public_type'] == 2) {
                 $setarr['forum_id'] = $public_aid;
             } else {
                 if ($this->p_arr['public_type'] == 3) {
                     $setarr['blog_id'] = $public_aid;
                 }
             }
         }
         $setarr['status'] = $this->temp_arr['article_status'] ? $this->temp_arr['article_status'] : 0;
     }
     if ($public_aid && $this->p_arr['is_public_del'] == 1) {
         //不入库,直接发布
         $this->public_info['insert_aid'] = $public_aid;
         if ($public_aid) {
             show_pick_info(milu_lang('public_data'), 'success', $this->status_arr);
         }
         return;
     }
     //标题表
     if ($this->p_arr['reply_rules'] || $this->p_arr['reply_is_extend']) {
         $setarr['is_bbs'] = 1;
     }
     $setarr['pid'] = $this->pid;
     $setarr['url'] = $this->now_url;
     $setarr['pic'] = $arr['pic'];
     $setarr['title'] = $arr['title'];
     $setarr['from'] = $arr['from'];
     $setarr['author'] = $arr['author'];
     $setarr['article_dateline'] = $arr['article_dateline'];
     $setarr['contents'] = 1;
     $setarr['summary'] = portalcp_get_summary($arr['content']);
     $setarr['summary'] = $setarr['summary'];
     $setarr['dateline'] = $_G['timestamp'];
     $setarr['url_hash'] = md5($setarr['url']);
     //var_dump($setarr);exit();
     unset($arr['other']);
     $num = DB::result_first('SELECT COUNT(*) FROM ' . DB::table('strayer_article_title') . " WHERE pid='" . $setarr['pid'] . "' AND url_hash = '" . md5($arr['url']) . "'");
     if ($num) {
         $this->v_a++;
         $this->pick_cache_data['v_a'] = $this->v_a;
         show_pick_info(milu_lang('article_exist'), 'err', $this->status_arr);
         return FALSE;
     }
     $setarr = paddslashes($setarr);
     $this->aid = DB::insert('strayer_article_title', $setarr, TRUE);
     $this->article_timing_update($this->aid, $this->temp_arr['timing_id']);
     //更新定时发布
     $setarr = array();
     //内容表
     $setarr['aid'] = $this->aid;
     $setarr['content'] = $arr['content'];
     $setarr['pageorder'] = 1;
     $setarr['dateline'] = $_G['timestamp'];
     $setarr = paddslashes($setarr);
     $insert_id = DB::insert('strayer_article_content', $setarr, TRUE);
     if ($this->aid) {
         show_pick_info(milu_lang('add_data'), 'success', $this->status_arr);
     }
 }