📄 adv.inc.php
字号:
showtips('adv_type_'.$adv['type'].'_tips');
echo '<script type="text/javascript" src="include/js/calendar.js"></script>';
showformheader("adv&operation=$operation".($operation == 'advadd' ? '&type='.$type : '&advid='.$advid));
if($operation == 'advadd') {
$title = $lang['adv_add'].' - '.$lang['adv_type_'.$type];
} else {
$title = $lang['adv_edit'].' - '.$lang['adv_type_'.$adv['type']].' - '.$adv['title'];
}
showtableheader();
showtitle($title);
showsetting('adv_edit_title', 'advnew[title]', $adv['title'], 'text');
showsetting('adv_edit_targets', '', '', $targetsselect);
if($adv['type'] == 'thread') {
showsetting('adv_edit_position_thread', array('advnew[position]', array(
array(1, $lang['adv_thread_down']),
array(2, $lang['adv_thread_up']),
array(3, $lang['adv_thread_right'])
), TRUE), $adv['parameters']['position'], 'mradio');
showsetting('adv_edit_display_position', '', '', $dispselect);
} elseif($adv['type'] == 'footerbanner') {
showsetting('adv_edit_position_footerbanner', array('advnew[position]', array(
array(1, $lang['adv_up']),
array(2, $lang['adv_middle']),
array(3, $lang['adv_down'])
), TRUE), $adv['parameters']['position'], 'mradio');
} elseif($adv['type'] == 'intercat') {
showsetting('adv_edit_position_intercat', '', '', $positionselect);
} elseif($adv['type'] == 'float') {
showsetting('adv_edit_floath', 'advnew[floath]', ($adv['parameters']['floath'] > 0 ? $adv['parameters']['floath'] : 200), 'text');
}
showsetting('adv_edit_starttime', 'advnew[starttime]', $adv['starttime'], 'calendar');
showsetting('adv_edit_endtime', 'advnew[endtime]', $adv['endtime'], 'calendar');
showsetting('adv_edit_style', '', '', '<select name="advnew[style]" onchange="var styles, key;styles=new Array(\'code\',\'text\',\'image\',\'flash\'); for(key in styles) {var obj=$(\'style_\'+styles[key]); obj.style.display=styles[key]==this.options[this.selectedIndex].value?\'\':\'none\';}"><option value="code" '.$styleselect['code'].'> '.$lang['adv_style_code'].'</option><option value="text" '.$styleselect['text'].'> '.$lang['adv_style_text'].'</option><option value="image" '.$styleselect['image'].'> '.$lang['adv_style_image'].'</option><option value="flash" '.$styleselect['flash'].'> '.$lang['adv_style_flash'].'</option></select>');
showtagheader('tbody', 'style_code', $adv['parameters']['style'] == 'code');
showtitle('adv_edit_style_code');
showsetting('adv_edit_style_code_html', 'advnew[code][html]', in_array($type, array('float', 'couplebanner')) && $adv['parameters']['sourcecode'] ? $adv['parameters']['sourcecode'] : $adv['parameters']['html'], 'textarea');
showtagfooter('tbody');
showtagheader('tbody', 'style_text', $adv['parameters']['style'] == 'text');
showtitle('adv_edit_style_text');
showsetting('adv_edit_style_text_title', 'advnew[text][title]', $adv['parameters']['title'], 'text');
showsetting('adv_edit_style_text_link', 'advnew[text][link]', $adv['parameters']['link'], 'text');
showsetting('adv_edit_style_text_size', 'advnew[text][size]', $adv['parameters']['size'], 'text');
showtagfooter('tbody');
showtagheader('tbody', 'style_image', $adv['parameters']['style'] == 'image');
showtitle('adv_edit_style_image');
showsetting('adv_edit_style_image_url', 'advnew[image][url]', $adv['parameters']['url'], 'text');
showsetting('adv_edit_style_image_link', 'advnew[image][link]', $adv['parameters']['link'], 'text');
showsetting('adv_edit_style_image_width', 'advnew[image][width]', $adv['parameters']['width'], 'text');
showsetting('adv_edit_style_image_height', 'advnew[image][height]', $adv['parameters']['height'], 'text');
showsetting('adv_edit_style_image_alt', 'advnew[image][alt]', $adv['parameters']['alt'], 'text');
showtagfooter('tbody');
showtagheader('tbody', 'style_flash', $adv['parameters']['style'] == 'flash');
showtitle('adv_edit_style_flash');
showsetting('adv_edit_style_flash_url', 'advnew[flash][url]', $adv['parameters']['url'], 'text');
showsetting('adv_edit_style_flash_width', 'advnew[flash][width]', $adv['parameters']['width'], 'text');
showsetting('adv_edit_style_flash_height', 'advnew[flash][height]', $adv['parameters']['height'], 'text');
showtagfooter('tbody');
showsubmit('advsubmit');
showtablefooter();
showformfooter();
} else {
$advnew['starttime'] = $advnew['starttime'] ? strtotime($advnew['starttime']) : 0;
$advnew['endtime'] = $advnew['endtime'] ? strtotime($advnew['endtime']) : 0;
if(!$advnew['title']) {
cpmsg('adv_title_invalid', '', 'error');
} elseif(strlen($advnew['title']) > 50) {
cpmsg('adv_title_more', '', 'error');
} elseif($advnew['endtime'] && ($advnew['endtime'] <= $timestamp || $advnew['endtime'] <= $advnew['starttime'])) {
cpmsg('adv_endtime_invalid', '', 'error');
} elseif(($advnew['style'] == 'code' && !$advnew['code']['html'])
|| ($advnew['style'] == 'text' && (!$advnew['text']['title'] || !$advnew['text']['link']))
|| ($advnew['style'] == 'image' && (!$advnew['image']['url'] || !$advnew['image']['link']))
|| ($advnew['style'] == 'flash' && (!$advnew['flash']['url'] || !$advnew['flash']['width'] || !$advnew['flash']['height']))) {
cpmsg('adv_parameter_invalid', '', 'error');
}
if($operation == 'advadd') {
$db->query("INSERT INTO {$tablepre}advertisements (available, type)
VALUES ('1', '$type')");
$advid = $db->insert_id();
} else {
$type = $db->result_first("SELECT type FROM {$tablepre}advertisements WHERE advid='$advid'");
}
foreach($advnew[$advnew['style']] as $key => $val) {
$advnew[$advnew['style']][$key] = stripslashes($val);
}
$targetsarray = array();
if(is_array($advnew['targets'])) {
foreach($advnew['targets'] as $target) {
if($target == 'all') {
$targetsarray = in_array($type, array('thread', 'interthread')) ? array('forum') : array();
break;
} elseif(in_array($target, array('register', 'redirect', 'archiver')) || preg_match("/^\d+$/", $target) && ($target == 0 || in_array($_DCACHE['forums'][$target]['type'], array('forum', 'sub')))) {
$targetsarray[] = $target;
}
}
}
$advnew['targets'] = implode("\t", $targetsarray);
$advnew['displayorder'] = isset($advnew['displayorder']) ? implode("\t", $advnew['displayorder']) : '';
switch($advnew['style']) {
case 'code':
$advnew['code'] = $advnew['code']['html'];
break;
case 'text':
$advnew['code'] = '<a href="'.$advnew['text']['link'].'" target="_blank" '.($advnew['text']['size'] ? 'style="font-size: '.$advnew['text']['size'].'"' : '').'>'.$advnew['text']['title'].'</a>';
break;
case 'image':
$advnew['code'] = '<a href="'.$advnew['image']['link'].'" target="_blank"><img src="'.$advnew['image']['url'].'"'.($advnew['image']['height'] ? ' height="'.$advnew['image']['height'].'"' : '').($advnew['image']['width'] ? ' width="'.$advnew['image']['width'].'"' : '').($advnew['image']['alt'] ? ' alt="'.$advnew['image']['alt'].'"' : '').' border="0"></a>';
break;
case 'flash':
$advnew['code'] = '<embed width="'.$advnew['flash']['width'].'" height="'.$advnew['flash']['height'].'" src="'.$advnew['flash']['url'].'" type="application/x-shockwave-flash" wmode="transparent"></embed>';
break;
}
if($type == 'float') {
$sourcecode = $advnew['code'];
$advnew['floath'] = $advnew['floath'] >= 40 && $advnew['floath'] <= 600 ? intval($advnew['floath']) : 200;
$advnew['code'] = str_replace(array("\r\n", "\r", "\n"), '<br />', $advnew['code']);
$advnew['code'] = addslashes($advnew['code'].'<br /><img src="images/common/advclose.gif" onMouseOver="this.style.cursor=\'pointer\'" onClick="closeBanner();">');
$advnew['code'] = 'theFloaters.addItem(\'floatAdv1\',6,\'document.documentElement.clientHeight-'.$advnew['floath'].'\',\'<div style="position: absolute; left: 6px; top: 6px;">'.$advnew['code'].'</div>\');';
} elseif($type == 'couplebanner') {
$sourcecode = $advnew['code'];
$advnew['code'] = str_replace(array("\r\n", "\r", "\n"), '<br />', $advnew['code']);
$advnew['code'] = addslashes($advnew['code'].'<br /><img src="images/common/advclose.gif" onMouseOver="this.style.cursor=\'pointer\'" onClick="closeBanner();">');
$advnew['code'] = 'theFloaters.addItem(\'coupleBannerL\',6,0,\'<div style="position: absolute; left: 6px; top: 6px;">'.$advnew['code'].'</div>\');theFloaters.addItem(\'coupleBannerR\',\'document.body.clientWidth-6\',0,\'<div style="position: absolute; right: 6px; top: 6px;">'.$advnew['code'].'</div>\');';
} elseif($type == 'intercat') {
$advnew['position'] = is_array($advnew['position']) && !in_array('0', $advnew['position']) ? $advnew['position'] : '';
}
$advnew['parameters'] = addslashes(serialize(array_merge(array('style' => $advnew['style']), $advnew['style'] == 'code' ? array() : $advnew[$advnew['style']], array('html' => $advnew['code']), array('position' => $advnew['position']), array('displayorder' => $advnew['displayorder']), ($sourcecode ? array('sourcecode' => $sourcecode) : array()), ($advnew['floath'] ? array('floath' => $advnew['floath']) : array()))));
$advnew['code'] = addslashes($advnew['code']);
$query = $db->query("UPDATE {$tablepre}advertisements SET title='$advnew[title]', targets='$advnew[targets]', parameters='$advnew[parameters]', code='$advnew[code]', starttime='$advnew[starttime]', endtime='$advnew[endtime]' WHERE advid='$advid'");
if($type == 'intercat') {
updatecache('advs_index');
} elseif(in_array($type, array('thread', 'interthread'))) {
updatecache('advs_viewthread');
} elseif($type == 'text') {
updatecache(array('advs_index', 'advs_forumdisplay', 'advs_viewthread'));
} else {
updatecache(array('settings', 'advs_archiver', 'advs_register', 'advs_index', 'advs_forumdisplay', 'advs_viewthread'));
}
cpmsg('adv_succeed', $BASESCRIPT.'?action=adv', 'succeed');
}
} elseif($operation == 'config') {
if(!submitcheck('configsubmit')) {
$query = $db->query("SELECT value FROM {$tablepre}settings WHERE variable='admode'");
$admode = $db->result($query, 0);
shownav('adv', 'adv_admin');
showsubmenu('adv_admin', array(
array('config', 'adv&operation=config', 1),
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'),
)), '', 0)
));
showformheader('adv&operation=config');
showtableheader();
showsetting('adv_config_mode', array('admodenew', array(array(0, lang('adv_config_mode_0')), array(1, lang('adv_config_mode_1')))), $admode, 'select');
showsubmit('configsubmit');
showtablefooter();
showformfooter();
} else {
$db->query("REPLACE INTO {$tablepre}settings (variable, value) VALUES ('admode', '$admodenew')");
updatecache('settings');
cpmsg('adv_config_succeed', $BASESCRIPT.'?action=adv&operation=config', 'succeed');
}
}
function showtargets($adv) {
if($adv['targets'] == '' || $adv['targets'] == 'forum') {
return lang('all');
} else {
$targets = explode("\t", $adv['targets']);
$count = count($targets);
$max = $count > 2 ? 2 : $count;
$t = array();
for($i = 0;$i < $max;$i++) {
$t[] = showtargetlink($targets[$i]);
}
$r = implode(', ', $t);
if($count > 2) {
$r .= ' ...';
}
return $r;
}
}
function showtargetlink($target) {
global $_DCACHE;
return $target == 'register' ? '<a href="'.$regname.'" target="_blank">'.lang('adv_register').'</a>' :
($target == 'redirect' ? lang('adv_jump') :
($target == 'archiver' ? '<a href="archiver/" target="_blank">Archiver</a>' :
($target ? '<a href="forumdisplay.php?fid='.$target.'" target="_blank">'.$_DCACHE['forums'][$target]['name'].'</a>' : '<a href="'.$indexname.'" target="_blank">'.lang('home').'</a>')));
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -