Example #1
0
 function usesubmit()
 {
     global $_G;
     if (empty($_G['gp_pid'])) {
         showmessage(lang('magic/namepost', 'namepost_info_nonexistence'));
     }
     $_G['tid'] = $_G['gp_ptid'];
     $post = getpostinfo($_G['gp_pid'], 'pid', array('p.first', 'p.tid', 'p.fid', 'p.authorid', 'p.dateline', 'p.anonymous'));
     $this->_check($post);
     $query = DB::query("SELECT username FROM " . DB::table('common_member') . " WHERE uid='{$post['authorid']}'");
     $author = daddslashes(DB::result($query, 0), 1);
     $thread = getpostinfo($post['tid'], 'tid', array('tid', 'subject', 'author', 'replies', 'lastposter'));
     $posttable = getposttablebytid($post['tid']);
     if ($post['first']) {
         $lastposter = $thread['replies'] > 0 ? $thread['lastposter'] : $author;
         DB::query("UPDATE " . DB::table($posttable) . " SET anonymous='0' WHERE tid='{$post['tid']}' AND first='1'");
     } else {
         $lastposter = $author;
         $author = $thread['author'];
         DB::query("UPDATE " . DB::table($posttable) . " SET anonymous='0' WHERE pid='{$_G['gp_pid']}'");
     }
     $forum['lastpost'] = explode("\t", DB::result_first("SELECT lastpost FROM " . DB::table('forum_forum') . " WHERE fid='{$post['fid']}'"));
     if ($thread['subject'] == $forum['lastpost'][1] && ($forum['lastpost'][3] == '' && $post['anonymous'])) {
         $lastpost = "{$thread['tid']}\t{$thread['subject']}\t{$_G['timestamp']}\t{$lastposter}";
         DB::query("UPDATE " . DB::table('forum_forum') . " SET lastpost='{$lastpost}' WHERE fid='{$post['fid']}'", 'UNBUFFERED');
     }
     DB::query("UPDATE " . DB::table('forum_thread') . " SET author='{$author}', lastposter='{$lastposter}' WHERE tid='{$post['tid']}'");
     usemagic($this->magic['magicid'], $this->magic['num']);
     updatemagiclog($this->magic['magicid'], '2', '1', '0', 0, 'tid', $_G['gp_tid']);
     if ($post['authorid'] != $_G['uid']) {
         notification_add($post['authorid'], 'magic', lang('magic/namepost', 'namepost_notification'), array('pid' => $_G['gp_pid'], 'tid' => $_G['gp_tid'], 'subject' => $thread['subject'], 'magicname' => $this->magic['name']));
     }
     showmessage(lang('magic/namepost', 'namepost_succeed'), dreferer(), array(), array('showdialog' => 1, 'locationtime' => true));
 }
Example #2
0
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;
}
Example #3
0
function category_get_list($cat, $wheresql, $page = 1, $perpage = 15)
{
    global $_G;
    $start = ($page - 1) * $perpage;
    if ($start < 0) {
        $start = 0;
    }
    $list = array();
    $pricount = 0;
    $multi = '';
    $count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('portal_article_title') . " at WHERE {$wheresql}"), 0);
    if ($count) {
        $query = DB::query("SELECT * FROM " . DB::table('portal_article_title') . " at WHERE {$wheresql} ORDER BY at.dateline DESC LIMIT {$start},{$perpage}");
        while ($value = DB::fetch($query)) {
            $value['catname'] = $value['catid'] == $cat['catid'] ? $cat['catname'] : $_G['cache']['portalcategory'][$value['catid']]['catname'];
            if ($value['pic']) {
                $value['pic'] = pic_get($value['pic'], 'portal', $value['thumb'], $value['remote']);
            }
            $value['dateline'] = dgmdate($value['dateline']);
            if ($value['status'] == 0 || $value['uid'] == $_G['uid'] || $_G['adminid'] == 1) {
                $list[] = $value;
            } else {
                $pricount++;
            }
        }
        $multi = multi($count, $perpage, $page, $cat['caturl']);
    }
    return $return = array('list' => $list, 'count' => $count, 'multi' => $multi, 'pricount' => $pricount);
}
Example #4
0
function build_cache_modreasons()
{
    $data = array();
    $query = DB::query("SELECT svalue FROM " . DB::table('common_setting') . " WHERE skey='modreasons'");
    $modreasons = DB::result($query, 0);
    $modreasons = str_replace(array("\r\n", "\r"), array("\n", "\n"), $modreasons);
    $data = explode("\n", trim($modreasons));
    save_syscache('modreasons', $data);
}
function _HCM_countusers($kategorie = null)
{
    if (isset($kategorie)) {
        $cond = " WHERE " . _sqlWhereColumn("`group`", $kategorie);
    } else {
        $cond = "";
    }
    return DB::result(DB::query("SELECT COUNT(id) FROM `" . _mysql_prefix . "-users`" . $cond), 0);
}
Example #6
0
function _HCM_countart($kategorie = null)
{
    if (isset($kategorie) and $kategorie != "") {
        $cond = " AND " . _sqlArticleWhereCategories($kategorie);
    } else {
        $cond = "";
    }
    return DB::result(DB::query("SELECT COUNT(id) FROM `" . _mysql_prefix . "-articles` AS art WHERE " . _sqlArticleFilter() . $cond), 0);
}
function build_cache_domainwhitelist()
{
    $query = DB::query("SELECT svalue FROM " . DB::table('common_setting') . " WHERE skey='domainwhitelist'");
    if ($result = DB::result($query, 0)) {
        $data = explode("\r\n", $result);
    } else {
        $data = array();
    }
    save_syscache('domainwhitelist', $data);
}
Example #8
0
 public static function query($query)
 {
     if (empty(self::$db)) {
         self::$db = new mysqli('localhost', 'root', '', 'forforce');
     }
     self::$result = self::$db->query($query);
     if (self::$result === false) {
         throw new Exception(self::error(), 1);
     }
     return self::$result;
 }
function _admin_catitemOutput($item, $pad = false)
{
    if ($pad == true) {
        $pad = " class='lpad'";
    } else {
        $pad = "";
    }
    if ($item['type'] == 2) {
        $title = "<a href='index.php?p=content-articles-list&amp;cat=" . $item['id'] . "' class='block'><img src='images/icons/dir.png' alt='col' class='icon' /><strong>" . $item['title'] . "</strong></a>";
    } else {
        $title = $item['title'];
    }
    return "<tr><td" . $pad . ">" . $title . "</td><td>" . DB::result(DB::query("SELECT COUNT(id) FROM `" . _mysql_prefix . "-articles` WHERE (home1=" . $item['id'] . " OR home2=" . $item['id'] . " OR home3=" . $item['id'] . ")" . _admin_artAccess()), 0) . "</td></tr>\n";
}
Example #10
0
 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;
 }
Example #11
0
    function show()
    {
        global $_G;
        $id = intval($_GET['id']);
        $idtype = $_GET['idtype'];
        $blog = magic_check_idtype($id, $idtype);
        if (DB::result(DB::query('SELECT COUNT(*) FROM ' . DB::table('common_magiclog') . " WHERE action='2' AND uid = '{$_G['uid']}' AND targetid = '{$id}' AND idtype = '{$idtype}' AND magicid = '{$this->magic[magicid]}'"), 0)) {
            showmessage("magicuse_object_once_limit");
        }
        $num = !empty($_G['setting']['feedhotmin']) ? intval($_G['setting']['feedhotmin']) : 3;
        magicshowtips(lang('magic/hot', 'hot_info', array('num' => $num)));
        echo <<<HTML
<p>
\t<input type="hidden" name="id" value="'.{$id}.'" />
\t<input type="hidden" name="idtype" value="'.{$idtype}.'" />
</p>
HTML;
    }
Example #12
0
 public function fetch_all_for_search($view, $order, $searchkey, $type, $frienduid, $spaceuid, $minhot, $count = 0, $start = 0, $limit = 0)
 {
     $today = strtotime(dgmdate(TIMESTAMP, 'Y-m-d'));
     $wheresql = '1';
     $threadsql = $ordersql = $apply_sql = '';
     if ($view == 'all') {
         if ($order == 'hot') {
             $threadsql .= " t.special='4' AND t.replies>='{$minhot}'";
             $apply_sql = "INNER JOIN " . DB::table('forum_thread') . " t ON t.special='4' AND t.tid = a.tid AND t.replies>='{$minhot}' AND t.displayorder>'-1'";
         }
     } elseif ($view == 'me') {
         $type = in_array($type, array('orig', 'apply')) ? $type : 'orig';
         if ($type == 'apply') {
             $wheresql = "1";
             $apply_sql = "INNER JOIN " . DB::table('forum_activityapply') . " apply ON apply.uid = '{$spaceuid}' AND apply.tid = a.tid";
         } else {
             $wheresql = "a.uid = '{$spaceuid}'";
         }
         $ordersql = 'DESC';
     } else {
         if ($frienduid) {
             $wheresql = "a." . DB::field('uid', $frienduid);
         }
         $ordersql = 'DESC';
     }
     if ($view != 'all') {
     } elseif (empty($order)) {
         $ordersql = 'DESC';
     }
     if ($searchkey) {
         $threadsql .= " AND t.subject LIKE " . DB::quote('%' . addslashes($searchkey) . '%');
     }
     if ($count) {
         return DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('forum_activity') . " a {$apply_sql} WHERE {$wheresql}"), 0);
     }
     if ($view == 'all' && $order == 'hot') {
         $apply_sql = '';
     }
     $threadsql = empty($threadsql) ? '' : $threadsql . ' AND ';
     return DB::fetch_all("SELECT a.*, t.* FROM " . DB::table('forum_activity') . " a {$apply_sql}\r\n\t\t\tINNER JOIN " . DB::table('forum_thread') . " t ON {$threadsql} t.tid=a.tid\r\n\t\t\tWHERE t.displayorder>'-1' AND {$wheresql}\r\n\t\t\tORDER BY a.starttimefrom {$ordersql} " . DB::limit($start, $limit));
 }
Example #13
0
        if ($val !== false) {
            if ($fieldid == 'realname' && $_G['uid'] != $space['uid'] && !ckrealname(1)) {
                continue;
            }
            if ($field['formtype'] == 'file' && $val) {
                $imgurl = getglobal('setting/attachurl') . './profile/' . $val;
                $val = '<span><a href="' . $imgurl . '" target="_blank"><img src="' . $imgurl . '"  style="max-width: 500px;" /></a></span>';
            }
            if ($val == '') {
                $val = '-';
            }
            $profiles[$fieldid] = array('title' => $field['title'], 'value' => $val);
        }
    }
}
$count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('forum_moderator') . " WHERE uid = '{$space['uid']}'"), 0);
if ($count) {
    $query = DB::query("SELECT f.name,f.fid AS fid FROM " . DB::table('forum_moderator') . " m LEFT JOIN " . DB::table('forum_forum') . " f USING(fid) WHERE  uid = '{$space['uid']}'");
    while ($result = DB::fetch($query)) {
        $manage_forum[$result['fid']] = $result['name'];
    }
}
if (!$_G['inajax'] && $_G['setting']['groupstatus']) {
    $groupcount = DB::result_first("SELECT COUNT(*) FROM " . DB::table('forum_groupuser') . " WHERE uid = '{$space['uid']}'");
    if ($groupcount > 0) {
        $query = DB::query("SELECT fg.fid, ff.name FROM " . DB::table('forum_groupuser') . " fg LEFT JOIN " . DB::table('forum_forum') . " ff USING(fid) WHERE fg.uid = '{$space['uid']}' LIMIT {$groupcount}");
        while ($result = DB::fetch($query)) {
            $usergrouplist[] = $result;
        }
    }
}
Example #14
0
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;
}
    $searchkey = stripsearchkey($_GET['searchkey']);
    $searchcate = intval($_GET['searchcate']);
    $catids = category_get_childids('portal', $searchcate);
    $catids[] = $searchcate;
    if ($searchkey) {
        $wherearr[] = "title LIKE '%{$searchkey}%'";
    }
    $searchkey = dhtmlspecialchars($searchkey);
    if ($searchcate) {
        $wherearr[] = "catid IN  (" . dimplode($catids) . ")";
    }
    $wheresql = implode(' AND ', $wherearr);
    if ($wheresql) {
        $wheresql = " WHERE " . $wheresql;
    }
    $count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('portal_article_title') . "{$wheresql} LIMIT 50"), 0);
    if ($count) {
        $query = DB::query("SELECT * FROM " . DB::table('portal_article_title') . "{$wheresql} ORDER BY dateline DESC LIMIT 50");
        while ($value = DB::fetch($query)) {
            $articlelist[] = $value;
        }
    }
} elseif ($op == 'add') {
    $relatedid = trim($_GET['relatedid']);
    $relatedarr = explode(',', $relatedid);
    $relatedarr = array_map('intval', $relatedarr);
    $relatedarr = array_unique($relatedarr);
    $relatedarr = array_filter($relatedarr);
    if ($relatedarr) {
        $query = DB::query("SELECT * FROM " . DB::table('portal_article_title') . " WHERE aid IN (" . dimplode($relatedarr) . ")");
        $list = array();
     $author = _loginid;
 }
 $locked = _checkboxLoad("locked");
 $reset = _checkboxLoad("reset");
 // kontrola promennych
 $errors = array();
 if ($question == "") {
     $errors[] = $_lang['admin.content.polls.edit.error1'];
 }
 if ($answers_count == 0) {
     $errors[] = $_lang['admin.content.polls.edit.error2'];
 }
 if ($answers_count > 20) {
     $errors[] = $_lang['admin.content.polls.edit.error3'];
 }
 if (_loginright_adminpollall and DB::result(DB::query("SELECT COUNT(id) FROM `" . _mysql_prefix . "-users` WHERE id=" . $author . " AND (id=" . _loginid . " OR (SELECT level FROM `" . _mysql_prefix . "-groups` WHERE id=`" . _mysql_prefix . "-users`.`group`)<" . _loginright_level . ")"), 0) == 0) {
     $errors[] = $_lang['admin.content.articles.edit.error3'];
 }
 // ulozeni
 if (count($errors) == 0) {
     if (!$new) {
         DB::query("UPDATE `" . _mysql_prefix . "-polls` SET question='" . $question . "',answers='" . $answers . "',author=" . $author . ",locked=" . $locked . " WHERE id=" . $id);
         // korekce seznamu hlasu
         if (!$reset) {
             $votes = explode("-", $query['votes']);
             $votes_count = count($votes);
             $newvotes = "";
             // prilis mnoho polozek
             if ($votes_count > $answers_count) {
                 for ($i = 0; $i < $votes_count - $answers_count; $i++) {
                     array_pop($votes);
Example #17
0
     DB::update('common_member_field_forum', $forum, array('uid' => $_G['uid']));
 }
 if (isset($_POST['birthmonth']) && ($space['birthmonth'] != $_POST['birthmonth'] || $space['birthday'] != $_POST['birthday'])) {
     $setarr['constellation'] = get_constellation($_POST['birthmonth'], $_POST['birthday']);
 }
 if (isset($_POST['birthyear']) && $space['birthyear'] != $_POST['birthyear']) {
     $setarr['zodiac'] = get_zodiac($_POST['birthyear']);
 }
 if ($setarr) {
     DB::update('common_member_profile', $setarr, array('uid' => $_G['uid']));
 }
 if ($verifyarr) {
     DB::query('DELETE FROM ' . DB::table('common_member_verify_info') . " WHERE uid='{$_G['uid']}' AND verifytype='{$vid}'");
     $setverify = array('uid' => $_G['uid'], 'username' => $_G['username'], 'verifytype' => $vid, 'field' => daddslashes(serialize($verifyarr)), 'dateline' => $_G['timestamp']);
     DB::insert('common_member_verify_info', $setverify);
     $count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('common_member_verify') . " WHERE uid='{$_G['uid']}'"), 0);
     if (!$count) {
         DB::insert('common_member_verify', array('uid' => $_G['uid']));
     }
     if ($_G['setting']['verify'][$vid]['available']) {
         manage_addnotify('verify_' . $vid, 0, array('langkey' => 'manage_verify_field', 'verifyname' => $_G['setting']['verify'][$vid]['title'], 'doid' => $vid));
     }
 }
 if (isset($_POST['privacy'])) {
     foreach ($_POST['privacy'] as $key => $value) {
         if (isset($_G['cache']['profilesetting'][$key])) {
             $space['privacy']['profile'][$key] = intval($value);
         }
     }
     DB::update('common_member_field_home', array('privacy' => addslashes(serialize($space['privacy']))), array('uid' => $space['uid']));
 }
         if ($list) {
             foreach ($list as $bid => $value) {
                 $inpage = empty($diypage[$bid]) ? cplang('block_page_nopage') : implode('<br/>', $diypage[$bid]);
                 $theclass = block_getclass($value['blockclass'], true);
                 showtablerow('', array('class="td25"'), array("<input type=\"checkbox\" class=\"checkbox\" name=\"ids[]\" value=\"{$value['bid']}\">", !empty($value['name']) ? $value['name'] : cplang('block_name_null'), $theclass['script'][$value['script']], $value['styleid'] ? $theclass['style'][$value['styleid']]['name'] : lang('portalcp', 'blockstyle_diy'), !empty($value['dateline']) ? dgmdate($value['dateline']) : cplang('block_dateline_null'), $inpage, "<a href=\"portal.php?mod=portalcp&ac=block&op=block&bid={$value['bid']}&blocktype=1&from=cp\" target=\"_blank\" onclick=\"showWindow('showblock',this.href);return false;\">" . cplang('block_setting') . "</a> &nbsp;&nbsp" . "<a href=\"portal.php?mod=portalcp&ac=block&op=getblock&forceupdate=1&inajax=1&bid={$value['bid']}&from=cp\" onclick=\"ajaxget(this.href,'','','','',function(){location.reload();});return false;\">" . cplang('block_update') . "</a> &nbsp;&nbsp" . "<a href=\"portal.php?mod=portalcp&ac=block&op=data&bid={$value['bid']}&blocktype=1&from=cp\" target=\"_blank\" onclick=\"showWindow('showblock',this.href);return false;\">" . cplang('block_data') . "</a> &nbsp;&nbsp" . "<a href=\"javascript:;\" onclick=\"prompt('" . cplang('block_copycode_message') . "', '<!--{block/{$value['bid']}}-->')\">" . cplang('block_copycode_inner') . "</a> &nbsp;&nbsp" . "<a href=\"javascript:;\" onclick=\"prompt('" . cplang('block_copycode_jsmessage') . "', '&lt;script type=&quot;text/javascript&quot; src=&quot;{$_G['siteurl']}api.php?mod=js&bid={$value['bid']}&quot;&gt;&lt;/script&gt;')\">" . cplang('block_copycode_outer') . "</a>&nbsp;&nbsp;<a href=\"" . ADMINSCRIPT . "?action=block&operation=perm&bid={$value['bid']}\">" . cplang('portalcategory_perm') . '</a>'));
             }
         }
         $multipage = multi($count, $perpage, $page, $mpurl);
     }
     showsubmit('', '', '', '<input type="checkbox" name="chkall" id="chkall" class="checkbox" onclick="checkAll(\'prefix\', this.form, \'ids\')" /><label for="chkall">' . cplang('select_all') . '</label>&nbsp;&nbsp;<input type="submit" class="btn" name="deletesubmit" value="' . cplang('block_delete') . '" />', $multipage);
     showtablefooter();
     showformfooter();
 } else {
     showsubtitle(array('block_name', 'block_script', 'block_style', 'block_dateline', 'block_page', 'operation'));
     $multipage = '';
     $count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('common_block') . " b LEFT JOIN " . DB::table('common_template_block') . " tb ON tb.bid=b.bid WHERE {$wheresql}"), 0);
     if ($count) {
         $query = DB::query("SELECT b.*, tb.targettplname FROM " . DB::table('common_block') . " b LEFT JOIN " . DB::table('common_template_block') . " tb ON b.bid=tb.bid WHERE {$wheresql} {$ordersql} LIMIT {$start},{$perpage}");
         while ($value = DB::fetch($query)) {
             if ($value['targettplname']) {
                 $diyurl = block_getdiyurl($value['targettplname']);
                 $diyurl = $diyurl['url'];
                 $tplname = isset($_G['cache']['diytemplatename'][$value['targettplname']]) ? $_G['cache']['diytemplatename'][$value['targettplname']] : $value['targettplname'];
                 $diypage[$value['bid']][$value['targettplname']] = $diyurl ? '<a href="' . $diyurl . '" target="_blank">' . $tplname . '</a>' : $tplname;
             }
             $list[$value['bid']] = $value;
         }
         if ($list) {
             foreach ($list as $bid => $value) {
                 $inpage = empty($diypage[$bid]) ? cplang('block_page_unused') : implode('<br/>', $diypage[$bid]);
                 $theclass = block_getclass($value['blockclass'], true);
Example #19
0
              WHERE
                  `d1`.`unternehmenid` = ?
              ORDER BY
                  `unternehmenid` ASC,
                  `name` ASC', 1);
DB::setParam($_SESSION['unternehmenid'], 'int');
DB::exec();
DB::moveCurrentResultToBuffer('sms');
if ($this->_getExists('editmode')) {
    DB::query('SELECT
                     `baseurl`,
                     `apibase`,
                     `authurl`,
                     `requesturl`,
                     `accessurl`,
                     `searchurl`
                 FROM
                     `streamurls`
                 WHERE
                     `streamurlid` = 1', 0);
    DB::exec();
    DB::nextResult();
    $twitter = array('baseurl' => DB::result('baseurl'), 'apibase' => DB::result('apibase'), 'authurl' => DB::result('authurl'), 'requesturl' => DB::result('requesturl'), 'accessurl' => DB::result('accessurl'), 'searchurl' => DB::result('searchurl'));
    $this->addJavascript('connections');
    $this->addJavascript('layer');
    $this->addJavascriptBlank('var gConnections = new ConnectionManagement(\'newconnection\');');
    $this->addJavascriptBlank('gSample = ' . json_encode($twitter) . ';');
    $this->addJavascriptBlank('gConnections.setSample(gSample);');
    $this->addJavascriptBlank('gConnections.init();');
    $this->addJavascriptBlank('editOver();');
}
Example #20
0
     $query = DB::query("SELECT * FROM " . DB::table('forum_postposition') . " WHERE stick='1'", 'SILENT');
     if (DB::num_rows($query)) {
         while ($row = DB::fetch($query)) {
             DB::query("REPLACE INTO " . DB::table('forum_poststick') . " SET tid='{$row['tid']}', pid='{$row['pid']}', position='{$row['position']}', dateline='{$row['dateline']}'");
         }
         DB::query("DELETE FROM " . DB::table('forum_postposition') . " WHERE stick='1'");
     }
     show_msg(lang('update', 'recommendations_completed'), "{$theurl}?step=data&op={$nextop}");
 } elseif ($_GET['op'] == 'usergroup_allowvisit') {
     $nextop = 'creditrule';
     DB::update('common_usergroup', array('allowvisit' => 2), "groupid='1'");
     show_msg(lang('update', 'users_completed'), "{$theurl}?step=data&op={$nextop}");
 } elseif ($_GET['op'] == 'creditrule') {
     $nextop = 'bbcode';
     $delrule = array('register', 'realname', 'invitefriend', 'report', 'uploadimage', 'editrealname', 'editrealemail', 'delavatar');
     $count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('common_credit_rule') . " WHERE action IN(" . dimplode($delrule) . ")"), 0);
     if ($count) {
         DB::query("DELETE FROM " . DB::table('common_credit_rule') . " WHERE action IN(" . dimplode($delrule) . ")");
     }
     show_msg(lang('update', 'points_rules_completed'), "{$theurl}?step=data&op={$nextop}");
 } elseif ($_GET['op'] == 'bbcode') {
     $nextop = 'stamp';
     $allowcusbbcodes = array();
     $query = DB::query("SELECT * FROM " . DB::table('common_usergroup_field'));
     while ($row = DB::fetch($query)) {
         if ($row['allowcusbbcode']) {
             $allowcusbbcodes[] = $row['groupid'];
         }
     }
     if ($allowcusbbcodes) {
         DB::query("UPDATE " . DB::table('forum_bbcode') . " SET perm='" . implode("\t", $allowcusbbcodes) . "' WHERE perm=''");
function feed_publish($id, $idtype, $add = 0)
{
    global $_G;
    $setarr = array();
    switch ($idtype) {
        case 'blogid':
            $query = DB::query("SELECT b.*, bf.* FROM " . DB::table('home_blog') . " b\r\n\t\t\t\tLEFT JOIN " . DB::table('home_blogfield') . " bf ON bf.blogid=b.blogid\r\n\t\t\t\tWHERE b.blogid='{$id}'");
            if ($value = DB::fetch($query)) {
                if ($value['friend'] != 3) {
                    $setarr['icon'] = 'blog';
                    $setarr['id'] = $value['blogid'];
                    $setarr['idtype'] = $idtype;
                    $setarr['uid'] = $value['uid'];
                    $setarr['username'] = $value['username'];
                    $setarr['dateline'] = $value['dateline'];
                    $setarr['target_ids'] = $value['target_ids'];
                    $setarr['friend'] = $value['friend'];
                    $setarr['hot'] = $value['hot'];
                    $status = $value['status'];
                    $url = "home.php?mod=space&uid={$value['uid']}&do=blog&id={$value['blogid']}";
                    if ($value['friend'] == 4) {
                        $setarr['title_template'] = 'feed_blog_password';
                        $setarr['title_data'] = array('subject' => "<a href=\"{$url}\">{$value['subject']}</a>");
                    } else {
                        if ($value['pic']) {
                            $setarr['image_1'] = pic_cover_get($value['pic'], $value['picflag']);
                            $setarr['image_1_link'] = $url;
                        }
                        $setarr['title_template'] = 'feed_blog_title';
                        $setarr['body_template'] = 'feed_blog_body';
                        $value['message'] = preg_replace("/&[a-z]+\\;/i", '', $value['message']);
                        $setarr['body_data'] = array('subject' => "<a href=\"{$url}\">{$value['subject']}</a>", 'summary' => getstr($value['message'], 150, 1, 1, 0, -1));
                    }
                }
            }
            break;
        case 'albumid':
            $key = 1;
            if ($id > 0) {
                $query = DB::query("SELECT a.username, a.albumname, a.picnum, a.friend, a.target_ids, p.* FROM " . DB::table('home_pic') . " p\r\n\t\t\t\t\tLEFT JOIN " . DB::table('home_album') . " a ON a.albumid=p.albumid\r\n\t\t\t\t\tWHERE p.albumid='{$id}' ORDER BY dateline DESC LIMIT 0,4");
                while ($value = DB::fetch($query)) {
                    if ($value['friend'] <= 2) {
                        if (empty($setarr['icon'])) {
                            $setarr['icon'] = 'album';
                            $setarr['id'] = $value['albumid'];
                            $setarr['idtype'] = $idtype;
                            $setarr['uid'] = $value['uid'];
                            $setarr['username'] = $value['username'];
                            $setarr['dateline'] = $value['dateline'];
                            $setarr['target_ids'] = $value['target_ids'];
                            $setarr['friend'] = $value['friend'];
                            $status = $value['status'];
                            $setarr['title_template'] = 'feed_album_title';
                            $setarr['body_template'] = 'feed_album_body';
                            $setarr['body_data'] = array('album' => "<a href=\"home.php?mod=space&uid={$value['uid']}&do=album&id={$value['albumid']}\">{$value['albumname']}</a>", 'picnum' => $value['picnum']);
                        }
                        $setarr['image_' . $key] = pic_get($value['filepath'], 'album', $value['thumb'], $value['remote']);
                        $setarr['image_' . $key . '_link'] = "home.php?mod=space&uid={$value['uid']}&do=album&picid={$value['picid']}";
                        $key++;
                    } else {
                        break;
                    }
                }
            }
            break;
        case 'picid':
            $plussql = $id > 0 ? "p.picid='{$id}'" : "p.uid='{$_G['uid']}' ORDER BY dateline DESC LIMIT 1";
            $query = DB::query("SELECT p.*, a.friend, a.target_ids FROM " . DB::table('home_pic') . " p\r\n\t\t\t\tLEFT JOIN " . DB::table('home_album') . " a ON a.albumid=p.albumid WHERE {$plussql}");
            if ($value = DB::fetch($query)) {
                if (empty($value['friend'])) {
                    $setarr['icon'] = 'album';
                    $setarr['id'] = $value['picid'];
                    $setarr['idtype'] = $idtype;
                    $setarr['uid'] = $value['uid'];
                    $setarr['username'] = $value['username'];
                    $setarr['dateline'] = $value['dateline'];
                    $setarr['target_ids'] = $value['target_ids'];
                    $setarr['friend'] = $value['friend'];
                    $setarr['hot'] = $value['hot'];
                    $status = $value['status'];
                    $url = "home.php?mod=space&uid={$value['uid']}&do=album&picid={$value['picid']}";
                    $setarr['image_1'] = pic_get($value['filepath'], 'album', $value['thumb'], $value['remote']);
                    $setarr['image_1_link'] = $url;
                    $setarr['title_template'] = 'feed_pic_title';
                    $setarr['body_template'] = 'feed_pic_body';
                    $setarr['body_data'] = array('title' => $value['title']);
                }
            }
            break;
    }
    if ($setarr['icon']) {
        $setarr['title_template'] = $setarr['title_template'] ? lang('feed', $setarr['title_template']) : '';
        $setarr['body_template'] = $setarr['body_template'] ? lang('feed', $setarr['body_template']) : '';
        $setarr['body_general'] = $setarr['body_general'] ? lang('feed', $setarr['body_general']) : '';
        $setarr['title_data']['hash_data'] = "{$idtype}{$id}";
        $setarr['title_data'] = serialize($setarr['title_data']);
        $setarr['body_data'] = serialize($setarr['body_data']);
        $setarr = daddslashes($setarr);
        $feedid = 0;
        if (!$add && $setarr['id']) {
            $query = DB::query("SELECT feedid FROM " . DB::table('home_feed') . " WHERE id='{$id}' AND idtype='{$idtype}'");
            $feedid = DB::result($query, 0);
        }
        if ($status == 0) {
            if ($feedid) {
                DB::update('home_feed', $setarr, array('feedid' => $feedid));
            } else {
                DB::insert('home_feed', $setarr);
            }
        }
    }
}
Example #22
0
     $wheresql .= " AND t.subject LIKE '%{$searchkey}%'";
 }
 $havecache = false;
 if ($_G['gp_view'] == 'all') {
     $cachetime = $_G['gp_order'] == 'hot' ? 43200 : 3000;
     if (!empty($_G['cache']['space_trade'][$alltype]) && is_array($_G['cache']['space_trade'][$alltype])) {
         $cachearr = $_G['cache']['space_trade'][$alltype];
         if (!empty($cachearr['dateline']) && $cachearr['dateline'] > $_G['timestamp'] - $cachetime) {
             $list = $cachearr['data'];
             $hiddennum = $threadarr['hiddennum'];
             $havecache = true;
         }
     }
 }
 if (!$havecache) {
     $count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('forum_trade') . " t WHERE {$wheresql}"), 0);
     if ($count) {
         $query = DB::query("SELECT t.* FROM " . DB::table('forum_trade') . " t\r\n\t\t\t\tINNER JOIN " . DB::table('forum_thread') . " th ON t.tid=th.tid AND th.displayorder>='0'\r\n\t\t\t\tWHERE {$wheresql}\r\n\t\t\t\tORDER BY {$ordersql} LIMIT {$start},{$perpage}");
         $pids = $aids = $thidden = array();
         while ($value = DB::fetch($query)) {
             $aids[$value['aid']] = $value['aid'];
             $value['dateline'] = dgmdate($value['dateline']);
             $pids[] = (double) $value['pid'];
             $list[$value['pid']] = $value;
         }
         if ($_G['gp_view'] == 'all') {
             $_G['cache']['space_trade'][$alltype] = array('dateline' => $_G['timestamp'], 'hiddennum' => $hiddennum, 'data' => $list);
             save_syscache('space_trade', $_G['cache']['space_trade']);
         }
         if ($_G['gp_view'] != 'all') {
             $multi = multi($count, $perpage, $page, $theurl);
Example #23
0
function album_creat($arr)
{
    global $_G, $space;
    $albumid = DB::result(DB::query("SELECT albumid FROM " . DB::table('home_album') . " WHERE albumname='{$arr['albumname']}' AND uid='{$_G['uid']}'"));
    if ($albumid) {
        return $albumid;
    } else {
        $arr['uid'] = $_G['uid'];
        $arr['username'] = $_G['username'];
        $arr['dateline'] = $arr['updatetime'] = $_G['timestamp'];
        $albumid = DB::insert('home_album', $arr, 1);
        DB::query("UPDATE " . DB::table('common_member_count') . " SET albums = albums + 1 WHERE uid = '{$_G['uid']}'");
        return $albumid;
    }
}
Example #24
0
         if ($checktype == 1) {
             DB::query("UPDATE " . DB::table('forum_groupuser') . " SET level='4' WHERE uid IN(" . dimplode($checkusers) . ") AND fid='{$_G['fid']}'");
             update_usergroups($checkusers);
             DB::query("UPDATE " . DB::table('forum_forumfield') . " SET membernum=membernum+" . count($checkusers) . " WHERE fid='{$_G['fid']}'");
         } elseif ($checktype == 2) {
             DB::query("DELETE FROM " . DB::table('forum_groupuser') . " WHERE uid IN(" . dimplode($checkusers) . ") AND fid='{$_G['fid']}'");
         }
         if ($checktype == 1) {
             showmessage('group_moderate_succeed', $url);
         } else {
             showmessage('group_moderate_failed', $url);
         }
     } else {
         $checkusers = array();
         $userlist = groupuserlist($_G['fid'], 'joindateline', $perpage, $start, array('level' => 0));
         $checknum = DB::result(DB::query("SELECT count(*) FROM " . DB::table('forum_groupuser') . " WHERE fid='{$_G['fid']}' AND level='0'"), 0);
         $multipage = multi($checknum, $perpage, $page, $url);
         foreach ($userlist as $user) {
             $user['joindateline'] = date('Y-m-d H:i', $user['joindateline']);
             $checkusers[$user['uid']] = $user;
         }
     }
 } elseif ($_G['gp_op'] == 'manageuser') {
     $mtype = array(1 => lang('group/template', 'group_moderator'), 2 => lang('group/template', 'group_moderator_vice'), 3 => lang('group/template', 'group_star_member_title'), 4 => lang('group/misc', 'group_normal_member'), 5 => lang('group/misc', 'group_goaway'));
     if (!submitcheck('manageuser')) {
         $userlist = array();
         if (empty($_G['gp_srchuser'])) {
             $staruserlist = $page < 2 ? groupuserlist($_G['fid'], '', 0, 0, array('level' => '3'), array('uid', 'username', 'level', 'joindateline', 'lastupdate')) : '';
             $adminuserlist = $groupmanagers && $page < 2 ? $groupmanagers : array();
             $multipage = multi($_G['forum']['membernum'], $perpage, $page, $url);
         } else {
Example #25
0
$invite = getinvite();
if (!submitcheck('regsubmit', 0, $seccodecheck, $secqaacheck)) {
    if ($_G['gp_action'] == 'activation') {
        $auth = explode("\t", authcode($auth, 'DECODE'));
        if (FORMHASH != $auth[1]) {
            showmessage('register_activation_invalid', 'member.php?mod=logging&action=login');
        }
        $username = $auth[0];
        $activationauth = authcode("{$auth['0']}\t" . FORMHASH, 'ENCODE');
    }
    $_G['referer'] = isset($_G['referer']) ? dhtmlspecialchars($_G['referer']) : dreferer();
    $fromuser = !empty($fromuser) ? dhtmlspecialchars($fromuser) : '';
    if ($fromuid) {
        $query = DB::query("SELECT username FROM " . DB::table('common_member') . " WHERE uid='{$fromuid}'");
        if (DB::num_rows($query)) {
            $fromuser = dhtmlspecialchars(DB::result($query, 0));
        } else {
            dsetcookie('promotion');
        }
    }
    $bbrulestxt = nl2br("\n{$bbrulestxt}\n\n");
    if ($_G['gp_action'] == 'activation') {
        $auth = dhtmlspecialchars($auth);
    }
    if ($seccodecheck) {
        $seccode = random(6, 1);
    }
    if ($_G['setting']['secqaa']['status'][1]) {
        $seccode = random(1, 1) * 1000000 + substr($seccode, -6);
    }
    $username = dhtmlspecialchars($username);
Example #26
0
function getdiytplname($targettplname)
{
    $diytplname = DB::result_first("SELECT name FROM " . DB::table('common_diy_data') . " WHERE targettplname='{$targettplname}'");
    if (empty($diytplname)) {
        $sql = '';
        if (substr($targettplname, 0, 27) == 'portal/portal_topic_content') {
            $id = intval(str_replace('portal/portal_topic_content_', '', $targettplname));
            if (!empty($id)) {
                $sql = "SELECT title FROM " . DB::table('portal_topic') . " WHERE topicid='{$id}'";
            }
        } elseif (substr($targettplname, 0, 11) == 'portal/list') {
            $id = intval(str_replace('portal/list_', '', $targettplname));
            if (!empty($id)) {
                $sql = "SELECT catname FROM " . DB::table('portal_category') . " WHERE catid='{$id}'";
            }
        }
        if (!empty($sql)) {
            $diytplname = DB::result(DB::query($sql));
        }
    }
    return $diytplname;
}
Example #27
0
 $msglist = array();
 $msguser = $messageappend = '';
 $online = 0;
 foreach ($result as $key => $value) {
     if ($value['msgfromid'] != $_G['uid']) {
         $msguser = $value['msgfrom'];
     }
     $daykey = dgmdate($value['dateline'], 'Y-m-d');
     $msglist[$daykey][$key] = $value;
 }
 if ($touid && empty($msguser)) {
     $member = DB::fetch_first("SELECT username FROM " . DB::table('common_member') . " WHERE uid='{$touid}' LIMIT 1");
     $msguser = $member['username'];
 }
 if (!$msgonly) {
     $online = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('common_session') . " b WHERE uid='{$touid}'"), 0);
     if ($_G['member']['newpm']) {
         DB::update('common_member', array('newpm' => 0), array('uid' => $_G['uid']));
         uc_pm_ignore($_G['uid']);
     }
 }
 if (!empty($_G['gp_tradeid'])) {
     $trade = DB::fetch_first("SELECT tid, subject, pid FROM " . DB::table('forum_trade') . " WHERE pid='{$_G['gp_tradeid']}'");
     if ($trade) {
         $messageappend = htmlspecialchars('[url=' . $_G['siteurl'] . 'forum.php?mod=viewthread&tid=' . $trade['tid'] . '&do=tradeinfo&pid=' . $trade['pid'] . '][b]' . $trade['subject'] . '[/b][/url]');
     }
 } elseif (!empty($_G['gp_commentid'])) {
     $comment = DB::fetch_first("SELECT comment, tid, pid FROM " . DB::table('forum_postcomment') . " WHERE id='{$_G['gp_commentid']}'");
     if ($comment) {
         $comment['comment'] = str_replace(array('[b]', '[/b]', '[/color]'), array(''), preg_replace("/\\[color=([#\\w]+?)\\]/i", '', strip_tags($comment['comment'])));
         $messageappend = htmlspecialchars('[url=' . $_G['siteurl'] . 'forum.php?mod=redirect&goto=findpost&pid=' . $comment['pid'] . '&ptid=' . $comment['tid'] . '][b]' . lang('spacecp', 'pm_comment') . '[/b][/url][quote]' . $comment['comment'] . '[/quote]');
$_GET['type'] = isset($idtypes[$_GET['type']]) ? $_GET['type'] : 'all';
$actives[$_GET['type']] = ' class="a"';
$gets = array('mod' => 'space', 'uid' => $space['uid'], 'do' => 'favorite', 'type' => $_GET['type'], 'from' => $_GET['from']);
$theurl = 'home.php?' . url_implode($gets);
$wherearr = $list = array();
$favid = empty($_GET['favid']) ? 0 : intval($_GET['favid']);
if ($favid) {
    $wherearr[] = "favid='{$favid}'";
}
$wherearr[] = "uid='{$_G['uid']}'";
$idtype = isset($idtypes[$_GET['type']]) ? $idtypes[$_GET['type']] : '';
if ($idtype) {
    $wherearr[] = "idtype='{$idtype}'";
}
$wheresql = implode(' AND ', $wherearr);
$count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('home_favorite') . " WHERE {$wheresql}"), 0);
if ($count) {
    $query = DB::query("SELECT * FROM " . DB::table('home_favorite') . "\r\n\t\tWHERE {$wheresql}\r\n\t\tORDER BY dateline DESC\r\n\t\tLIMIT {$start},{$perpage}");
    $icons = array('tid' => '<img src="static/image/feed/thread.gif" alt="thread" class="t" /> ', 'fid' => '<img src="static/image/feed/discuz.gif" alt="forum" class="t" /> ', 'blogid' => '<img src="static/image/feed/blog.gif" alt="blog" class="t" /> ', 'gid' => '<img src="static/image/feed/group.gif" alt="group" class="t" /> ', 'uid' => '<img src="static/image/feed/profile.gif" alt="space" class="t" /> ', 'albumid' => '<img src="static/image/feed/album.gif" alt="album" class="t" /> ', 'aid' => '<img src="static/image/feed/article.gif" alt="article" class="t" /> ');
    while ($value = DB::fetch($query)) {
        $value['icon'] = isset($icons[$value['idtype']]) ? $icons[$value['idtype']] : '';
        $value['url'] = makeurl($value['id'], $value['idtype'], $value['spaceuid']);
        $value['description'] = !empty($value['description']) ? nl2br($value['description']) : '';
        $list[$value['favid']] = $value;
    }
}
$multi = multi($count, $perpage, $page, $theurl);
dsetcookie('home_diymode', $diymode);
if (!$_GET['type']) {
    $_GET['type'] = 'all';
}
Example #29
0
        $query = DB::query("SELECT * FROM " . DB::table('home_friend') . " WHERE uid='{$space['uid']}' ORDER BY num DESC LIMIT 0,100");
        while ($value = DB::fetch($query)) {
            $userlist[] = $value;
        }
    } else {
        $need_count = false;
    }
}
$actives = array($_GET['view'] => ' class="a"');
if ($need_count) {
    $wheresql .= " AND t.special='1'";
    if ($searchkey = stripsearchkey($_GET['searchkey'])) {
        $wheresql .= " AND t.subject LIKE '%{$searchkey}%'";
        $searchkey = dhtmlspecialchars($searchkey);
    }
    $count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('forum_thread') . " t {$apply_sql} WHERE {$wheresql}"), 0);
    if ($count) {
        $query = DB::query("SELECT t.* FROM " . DB::table('forum_thread') . " t {$apply_sql}\r\n\t\t\tWHERE {$wheresql}\r\n\t\t\tORDER BY {$ordersql} LIMIT {$start},{$perpage}");
    }
}
if ($count) {
    loadcache('forums');
    $tids = array();
    require_once libfile('function/misc');
    while ($value = DB::fetch($query)) {
        if (empty($value['author']) && $value['authorid'] != $_G['uid']) {
            $hiddennum++;
            continue;
        }
        $tids[$value['tid']] = $value['tid'];
        $list[$value['tid']] = procthread($value);
\t\t\t\t\t\t<option value="50"{$perpages['50']}>{$searchlang['perpage_50']}</option>
\t\t\t\t\t\t<option value="100"{$perpages['100']}>{$searchlang['perpage_100']}</option>
\t\t\t\t\t\t</select>
\t\t\t\t\t\t<input type="hidden" name="action" value="topic">
\t\t\t\t\t\t<input type="submit" name="searchsubmit" value="{$searchlang['search']}" class="btn">
\t\t\t\t\t</td>
\t\t\t\t</tr>
\t\t\t</table>
\t\t</div>
\t</form>
SEARCH;
    $start = ($page - 1) * $perpage;
    $mpurl .= '&perpage=' . $perpage;
    $perpages = array($perpage => ' selected');
    showformheader('topic');
    showtableheader('topic_list');
    showsubtitle(array('', 'topic_title', 'topic_domain', 'topic_name', 'topic_creator', 'topic_dateline', 'operation'));
    $multipage = '';
    $count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('portal_topic') . " WHERE {$wheresql}"), 0);
    if ($count) {
        $query = DB::query("SELECT * FROM " . DB::table('portal_topic') . " WHERE {$wheresql} {$ordersql} LIMIT {$start},{$perpage}");
        while ($value = DB::fetch($query)) {
            showtablerow('', array('class="td25"', 'class=""', 'class="td28"'), array("<input type=\"checkbox\" class=\"checkbox\" name=\"ids[]\" value=\"{$value['topicid']}\">", "<a href=\"portal.php?mod=topic&topicid={$value['topicid']}\" target=\"_blank\">" . $value[title] . "</a>" . ($value['closed'] ? ' [' . cplang('topic_closed_yes') . ']' : ''), $value['domain'] && !empty($_G['setting']['domain']['root']['topic']) ? 'http://' . $value['domain'] . '.' . $_G['setting']['domain']['root']['topic'] : '', $value['name'], "<a href=\"home.php?mod=space&uid={$value['uid']}&do=profile\" target=\"_blank\">{$value['username']}</a>", dgmdate($value[dateline]), "<a href=\"portal.php?mod=portalcp&ac=topic&topicid={$value['topicid']}\" target=\"_blank\">" . cplang('topic_edit') . "</a>&nbsp;&nbsp;" . "<a href=\"portal.php?mod=topic&topicid={$value['topicid']}&diy=yes\" target=\"_blank\">DIY</a>" . '&nbsp;&nbsp;<a href="' . ADMINSCRIPT . '?action=diytemplate&operation=perm&targettplname=portal/portal_topic_content_' . $value['topicid'] . '">' . cplang('topic_perm') . '</a>'));
        }
        $multipage = multi($count, $perpage, $page, $mpurl);
    }
    $ops = cplang('operation') . ': ' . "<input type='radio' class='radio' name='optype' value='open' id='op_close' /><label for='op_close'>" . cplang('topic_closed_no') . "</label>&nbsp;&nbsp;" . "<input type='radio' class='radio' name='optype' value='close' id='op_open' /><label for='op_open'>" . cplang('topic_closed_yes') . "</label>&nbsp;&nbsp;" . "<input type='radio' class='radio' name='optype' value='delete' id='op_delete' /><label for='op_delete'>" . cplang('delete') . "</label>&nbsp;&nbsp;";
    showsubmit('', '', '', '<input type="checkbox" name="chkall" id="chkall" class="checkbox" onclick="checkAll(\'prefix\', this.form, \'ids\')" /><label for="chkall">' . cplang('select_all') . '</label>&nbsp;&nbsp;' . $ops . '<input type="submit" class="btn" name="opsubmit" value="' . cplang('submit') . '" />', $multipage);
    showtablefooter();
    showformfooter();
}