?? adv.inc.php
字號(hào):
<?php
/*
[Discuz!] (C)2001-2009 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$Id: adv.inc.php 17011 2008-12-02 09:25:44Z cnteacher $
*/
if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
exit('Access Denied');
}
require_once DISCUZ_ROOT.'./forumdata/cache/cache_forums.php';
cpheader();
if(empty($operation)) {
if(!submitcheck('advsubmit')) {
require_once DISCUZ_ROOT.'./include/forum.func.php';
shownav('adv', 'adv_admin');
showsubmenu('adv_admin', array(
array('config', 'adv&operation=config', 0),
array('admin', 'adv', 1),
array(array('menu' => 'add', 'submenu' => array(
array('adv_type_headerbanner', 'adv&operation=advadd&type=headerbanner'),
array('adv_type_footerbanner', 'adv&operation=advadd&type=footerbanner'),
array('adv_type_text', 'adv&operation=advadd&type=text'),
array('adv_type_thread', 'adv&operation=advadd&type=thread'),
array('adv_type_interthread', 'adv&operation=advadd&type=interthread'),
array('adv_type_float', 'adv&operation=advadd&type=float'),
array('adv_type_couplebanner', 'adv&operation=advadd&type=couplebanner'),
array('adv_type_intercat', 'adv&operation=advadd&type=intercat'),
)), '', 0)
));
showformheader('adv');
showtableheader();
showsubtitle(array('', 'display_order', 'available', 'subject', 'type', 'adv_style', 'start_time', 'end_time', 'adv_targets', ''));
$advppp = 25;
$conditions = '';
$order_by = 'displayorder, advid DESC, targets DESC';
$page = max(1, intval($page));
$start_limit = ($page - 1) * $advppp;
$conditions .= $title ? " AND title LIKE '%$title%'" : '';
$conditions .= $type ? " AND type='$type'" : '';
$conditions .= $starttime ? " AND starttime>='".($timestamp - $starttime)."'" : '';
$order_by = $orderby == 'starttime' ? 'starttime' : ($orderby == 'type' ? 'type' : ($orderby == 'displayorder' ? 'displayorder' : 'advid DESC'));
$advnum = $db->result_first("SELECT COUNT(*) FROM {$tablepre}advertisements WHERE 1 $conditions");
$query = $db->query("SELECT * FROM {$tablepre}advertisements WHERE 1 $conditions ORDER BY available DESC, $order_by LIMIT $start_limit, $advppp");
while($adv = $db->fetch_array($query)) {
$adv['type'] = $lang['adv_type_'.$adv['type']];
$adv['targets'] = showtargets($adv);
$adv['parameters'] = unserialize($adv['parameters']);
showtablerow('', array('class="td25"', 'class="td28"', 'class="td25"'), array(
"<input class=\"checkbox\" type=\"checkbox\" name=\"delete[]\" value=\"$adv[advid]\">",
"<input type=\"text\" class=\"txt\" size=\"2\" name=\"displayordernew[$adv[advid]]\" value=\"$adv[displayorder]\">",
"<input class=\"checkbox\" type=\"checkbox\" name=\"availablenew[$adv[advid]]\" value=\"1\" ".($adv['available'] ? 'checked' : '').">",
"<input type=\"text\" class=\"txt\" size=\"15\" name=\"titlenew[$adv[advid]]\" value=\"".dhtmlspecialchars($adv['title'])."\">",
$adv[type],
$lang['adv_style_'.$adv['parameters']['style']],
$adv['starttime'] ? gmdate($dateformat, $adv['starttime'] + $_DCACHE['settings']['timeoffset'] * 3600) : $lang['unlimited'],
$adv['endtime'] ? gmdate($dateformat, $adv['endtime'] + $_DCACHE['settings']['timeoffset'] * 3600) : $lang['unlimited'],
$adv[targets],
"<a href=\"$BASESCRIPT?action=adv&operation=advedit&advid=$adv[advid]\" class=\"act\">$lang[detail]</a>"
));
}
$multipage = multi($advnum, $advppp, $page, $BASESCRIPT.'?action=adv'.($title ? "&title=$title" : '').($type ? "&type=$type" : '').($starttime ? "&starttime=$starttime" : '').($orderby ? "&orderby=$orderby" : ''), 0, 3, TRUE, TRUE);
$starttimecheck = array($starttime => 'selected="selected"');
$typecheck = array($type => 'selected="selected"');
$orderbycheck = array($orderby => 'selected="selected"');
$title = isset($title) ? $title : $lang['adv_inputtitle'];
showsubmit('advsubmit', 'submit', 'del', '', $multipage.'
<input type="text" class="txt" name="title" value="'.$title.'" size="15" onclick="this.value=\'\'">
<select name="starttime">
<option value=""> '.lang('start_time').'</option>
<option value="0" '.$starttimecheck['0'].'> '.lang('all').'</option>
<option value="86400" '.$starttimecheck['86400'].'> '.lang('1_day').'</option>
<option value="604800" '.$starttimecheck['604800'].'> '.lang('7_day').'</option>
<option value="2592000" '.$starttimecheck['2592000'].'> '.lang('30_day').'</option>
<option value="7776000" '.$starttimecheck['7776000'].'> '.lang('90_day').'</option>
<option value="15552000" '.$starttimecheck['15552000'].'> '.lang('180_day').'</option>
<option value="31536000" '.$starttimecheck['31536000'].'> '.lang('365_day').'</option>
</select>
<select name="type">
<option value=""> '.lang('adv_type').'</option>
<option value="0" '.$typecheck['0'].'> '.lang('all').'</option>
<option value="headerbanner" '.$typecheck['headerbanner'].'> '.lang('adv_type_headerbanner').'
</option><option value="footerbanner" '.$typecheck['footerbanner'].'> '.lang('adv_type_footerbanner').'</option>
<option value="text" '.$typecheck['text'].'> '.lang('adv_type_text').'</option>
<option value="thread" '.$typecheck['thread'].'> '.lang('adv_type_thread').'</option>
<option value="interthread" '.$typecheck['interthread'].'> '.lang('adv_type_interthread').'</option>
<option value="float" '.$typecheck['float'].'> '.lang('adv_type_float').'</option>
<option value="couplebanner" '.$typecheck['couplebanner'].'> '.lang('adv_type_couplebanner').'</option>
<option value="intercat" '.$typecheck['intercat'].'> '.lang('adv_type_intercat').'</option>
</select>
<select name="orderby">
<option value=""> '.lang('adv_orderby').'</option>
<option value="starttime" '.$orderbycheck['starttime'].'> '.lang('adv_addtime').'</option>
<option value="type" '.$orderbycheck['type'].'> '.lang('adv_type').'</option>
<option value="displayorder" '.$orderbycheck['displayorder'].'> '.lang('display_order').'</option>
</select>
<input type="submit" class="btn" name="searchsubmit" value="'.lang('search').'" onclick="if(this.form.title.value==\''.lang('adv_inputtitle').'\'){this.form.title.value=\'\'}window.loacation=\''.$BASESCRIPT.'?action=adv&title=\'+this.form.title.value+\'&starttime=\'+this.form.starttime.value+\'&type=\'+this.form.type.value+\'&orderby=\'+this.form.orderby.value;">
');
showtablefooter();
showformfooter();
} else {
if($advids = implodeids($delete)) {
$db->query("DELETE FROM {$tablepre}advertisements WHERE advid IN ($advids)");
}
if(is_array($titlenew)) {
foreach($titlenew as $advid => $title) {
$db->query("UPDATE {$tablepre}advertisements SET available='$availablenew[$advid]', displayorder='$displayordernew[$advid]', title='".cutstr($titlenew[$advid], 50)."' WHERE advid='$advid'", 'UNBUFFERED');
}
}
updatecache(array('settings', 'advs_archiver', 'advs_register', 'advs_index', 'advs_forumdisplay', 'advs_viewthread'));
cpmsg('adv_update_succeed', $BASESCRIPT.'?action=adv', 'succeed');
}
} elseif($operation == 'advadd' && in_array($type, array('headerbanner', 'footerbanner', 'text', 'thread', 'interthread', 'float', 'couplebanner', 'intercat')) || ($operation == 'advedit' && $advid)) {
if(!submitcheck('advsubmit')) {
require_once DISCUZ_ROOT.'./include/forum.func.php';
shownav('adv', 'adv_admin');
showsubmenu('adv_admin', array(
array('config', 'adv&operation=config', 0),
array('admin', 'adv', 0),
array(array('menu' => 'add', 'submenu' => array(
array('adv_type_headerbanner', 'adv&operation=advadd&type=headerbanner'),
array('adv_type_footerbanner', 'adv&operation=advadd&type=footerbanner'),
array('adv_type_text', 'adv&operation=advadd&type=text'),
array('adv_type_thread', 'adv&operation=advadd&type=thread'),
array('adv_type_interthread', 'adv&operation=advadd&type=interthread'),
array('adv_type_float', 'adv&operation=advadd&type=float'),
array('adv_type_couplebanner', 'adv&operation=advadd&type=couplebanner'),
array('adv_type_intercat', 'adv&operation=advadd&type=intercat'),
)), '', $operation == 'advadd' ? 1 : 0)
));
if($operation == 'advedit') {
$adv = $db->fetch_first("SELECT * FROM {$tablepre}advertisements WHERE advid='$advid'");
if(!$adv) {
cpmsg('undefined_action', '', 'error');
}
$adv['parameters'] = unserialize($adv['parameters']);
if(in_array($adv['type'], array('footerbanner', 'thread'))) {
if($adv['type'] == 'thread') {
$dispchecked = array();
foreach((isset($adv['parameters']['displayorder']) ? explode("\t", $adv['parameters']['displayorder']) : array('0')) as $postcount) {
$dispchecked[$postcount] = ' selected="selected"';
}
}
} elseif($adv['type'] == 'intercat') {
if(is_array($adv['parameters']['position'])) {
$positionchecked = array();
foreach($adv['parameters']['position'] as $position) {
$positionchecked[$position] = ' selected="selected"';
}
} else {
$positionchecked = array(0 => ' selected="selected"');
}
}
$type = $adv['type'];
} else {
$title = cutstr($title, 50);
$style = in_array($style, array('text', 'image', 'flash')) ? $style : 'code';
$adv = array('type' => $type, 'title' => $title, 'parameters' => array('style' => $style), 'starttime' => $timestamp);
$positionchecked = $type == 'intercat' ? array(0 => ' selected="selected"') : array(1 => 'checked');
$dispchecked = array(0 => ' selected="selected"');
}
$adv['targets'] = $adv['targets'] != '' && $adv['targets'] != 'forum' ? explode("\t", $adv['targets']) : array('all');
if($type == 'intercat') {
$targetsselect = '<select name="advnew[targets][]" disabled="disabled"><option value="0"> > '.$lang['home'].'</option></select>';
} else {
$targetsselect = '<select name="advnew[targets][]" size="10" multiple="multiple"><option value="all"> > '.$lang['all'].'</option>'.
'<option value=""> </option>'.
(in_array($type, array('thread', 'interthread')) ? '' : '<option value="0"> > '.$lang['home'].'</option>').
(in_array($type, array('headerbanner', 'footerbanner')) ? '</option><option value="register"> > '.$lang['adv_register'].'</option>'.
'</option><option value="redirect"> > '.$lang['adv_jump'].'</option>'.
'</option><option value="archiver"> > Archiver</option>' : '').
'</option>'.forumselect().'</select>';
foreach($adv['targets'] as $target) {
$targetsselect = preg_replace("/(\<option value=\"$target\")(\>)/", "\\1 selected=\"selected\" \\2", $targetsselect);
}
}
if($type == 'thread') {
$dispselect = '<select name="advnew[displayorder][]" size="10" multiple="multiple"><option value="0"'.$dispchecked[0].'> > '.$lang['all'].'</option><option value="0"> </option>';
for($i = 1; $i <= $ppp; $i ++) {
$dispselect .= '<option value="'.$i.'"'.$dispchecked[$i].'> > #'.$i.'</option>';
}
$dispselect .= '</select>';
} elseif($type == 'intercat') {
require_once DISCUZ_ROOT.'./forumdata/cache/cache_forums.php';
$positionselect = '<select name="advnew[position][]" size="10" multiple="multiple"><option value="0"'.$positionchecked[0].'> > '.$lang['all'].'</option><option value=""> </option>';
foreach($_DCACHE['forums'] as $fid => $forum) {
if($forum['type'] == 'group') {
$positionselect .= '<option value="'.$fid.'"'.$positionchecked[$fid].'>'.$forum['name'].'</option>';
}
}
$positionselect .= '</select>';
}
$adv['starttime'] = $adv['starttime'] ? gmdate('Y-n-j', $adv['starttime'] + $_DCACHE['settings']['timeoffset'] * 3600) : '';
$adv['endtime'] = $adv['endtime'] ? gmdate('Y-n-j', $adv['endtime'] + $_DCACHE['settings']['timeoffset'] * 3600) : '';
$styleselect = array($adv['parameters']['style'] => 'selected');
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -