Ejemplo n.º 1
0
 function getsetting()
 {
     global $_G;
     $settings = $this->setting;
     if ($settings['catid']) {
         $settings['catid']['value'][] = array(0, lang('portalcp', 'block_all_category'));
         loadcache('portalcategory');
         foreach ($_G['cache']['portalcategory'] as $value) {
             if ($value['level'] == 0) {
                 $settings['catid']['value'][] = array($value['catid'], $value['catname']);
                 if ($value['children']) {
                     foreach ($value['children'] as $catid2) {
                         $value2 = $_G['cache']['portalcategory'][$catid2];
                         $settings['catid']['value'][] = array($value2['catid'], '-- ' . $value2['catname']);
                         if ($value2['children']) {
                             foreach ($value2['children'] as $catid3) {
                                 $value3 = $_G['cache']['portalcategory'][$catid3];
                                 $settings['catid']['value'][] = array($value3['catid'], '---- ' . $value3['catname']);
                             }
                         }
                     }
                 }
             }
         }
     }
     if ($settings['tag']) {
         $tagnames = article_tagnames();
         foreach ($tagnames as $k => $v) {
             $settings['tag']['value'][] = array($k, $v);
         }
     }
     return $settings;
 }
Ejemplo n.º 2
0
                            }
                            $attach['from'] = 'forum';
                            $attachs[] = $attach;
                        }
                    }
                    break;
            }
        }
        if (!empty($article['dateline'])) {
            $article['dateline'] = dgmdate($article['dateline']);
        }
        if (!empty($attachs)) {
            $article['attachs'] = get_upload_content($attachs);
        }
        $article_tags = article_parse_tags($article['tag']);
        $tag_names = article_tagnames();
    }
}
require_once libfile('function/upload');
$swfconfig = getuploadconfig($_G['uid'], 0, false);
require_once libfile('function/spacecp');
$albums = getalbums($_G['uid']);
include_once template("portal/portalcp_article");
function portalcp_get_summary($message)
{
    $message = preg_replace(array("/\\[attach\\].*?\\[\\/attach\\]/", "/\\&[a-z]+\\;/i", "/\\<script.*?\\<\\/script\\>/"), '', $message);
    $message = preg_replace("/\\[.*?\\]/", '', $message);
    $message = getstr(strip_tags($message), 200);
    return $message;
}
function portalcp_get_postmessage($post, $getauthorall = '')
Ejemplo n.º 3
0
         $mpurl .= '&' . implode('&', $orders['urls']);
     }
     $orderby = array($_GET['orderby'] => ' selected');
     $ordersc = array($_GET['ordersc'] => ' selected');
     $perpage = empty($_GET['perpage']) ? 0 : intval($_GET['perpage']);
     if (!in_array($perpage, array(10, 20, 50, 100))) {
         $perpage = 10;
     }
     $categoryselect = category_showselect('portal', 'catid', true, $_GET['catid']);
     $searchlang = array();
     $keys = array('search', 'likesupport', 'resultsort', 'defaultsort', 'orderdesc', 'orderasc', 'perpage_10', 'perpage_20', 'perpage_50', 'perpage_100', 'article_dateline', 'article_id', 'article_title', 'article_uid', 'article_username', 'article_category', 'article_tag');
     foreach ($keys as $key) {
         $searchlang[$key] = cplang($key);
     }
     $articletagcheckbox = '';
     $article_tags = article_tagnames();
     foreach ($article_tags as $k => $v) {
         $checked = !empty($_GET['tag']) && !empty($_GET['tag'][$k]) ? 'checked="checked"' : '';
         $articletagcheckbox .= "<input type=\"checkbox\" class=\"checkbox\" id=\"tag_{$k}\" name=\"tag[{$k}]\" value=\"1\"{$checked} />";
         $articletagcheckbox .= "<label for=\"tag_{$k}\">{$v}</label>";
     }
     $start = ($page - 1) * $perpage;
     $mpurl .= '&perpage=' . $perpage;
     $perpages = array($perpage => ' selected');
     $adminscript = ADMINSCRIPT;
     echo <<<SEARCH
t<form method="get" autocomplete="off" action="{$adminscript}" id="tb_search">
t\t<div style="margin-top:8px;">
t\t\t<table cellspacing="3" cellpadding="3">
t\t\t\t<tr>
t\t\t\t\t<th>{$searchlang['article_id']}</th><td><input type="text" class="txt" name="aid" value="{$_GET['aid']}"></td>
Ejemplo n.º 4
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;
    }
}