📄 smilies.inc.php
字号:
showtablefooter();
showformfooter();
} else {
if($ids = implodeids($delete)) {
$db->query("DELETE FROM {$tablepre}smilies WHERE id IN ($ids)");
}
if(is_array($displayorder)) {
foreach($displayorder as $key => $val) {
$displayorder[$key] = intval($displayorder[$key]);
$code[$key] = trim($code[$key]);
if(empty($code[$key])) {
$db->query("DELETE FROM {$tablepre}smilies WHERE id='$key'");
} else {
$db->query("UPDATE {$tablepre}smilies SET displayorder='$displayorder[$key]', code='$code[$key]' WHERE id='$key'");
}
}
}
updatecache(array('smilies', 'smilies_display'));
cpmsg('smilies_edit_succeed', "admincp.php?action=smilies&operation=edit&id=$id", 'succeed');
}
} elseif($do == 'add') {
if(!submitcheck('editsubmit')) {
shownav('topic', 'nav_smilies');
showsubmenu(lang('smilies_edit').' - '.$type[name], array(
array('admin', "smilies&operation=edit&id=$id", !$do),
array('add', "smilies&operation=edit&do=add&id=$id", $do == 'add')
));
showtips('smilies_tips');
showtagheader('div', 'addsmilies', TRUE);
showtableheader('smilies_add', 'notop fixpadding');
showtablerow('', '', "<span class=\"bold marginright\">$lang[smilies_type]:</span>$type[name]");
showtablerow('', '', "<span class=\"bold marginright\">$lang[dir]:</span>$smurl $lang[smilies_add_search]");
showtablerow('', '', '<input type="button" class="btn" value="'.$lang['search'].'" onclick="ajaxget(\'admincp.php?action=smilies&operation=edit&do=add&id='.$id.'&search=yes\', \'addsmilies\', \'addsmilies\', \'auto\');doane(event);">');
showtablefooter();
showtagfooter('div');
if($search) {
$newid = 1;
$newimages = '';
$imgextarray = array('jpg', 'gif');
$imgfilter = array();
$query = $db->query("SELECT url FROM {$tablepre}smilies WHERE type='smiley' AND typeid='$id'");
while($img = $db->fetch_array($query)) {
$imgfilter[] = $img[url];
}
$smiliesdir = dir($smdir);
while($entry = $smiliesdir->read()) {
if(in_array(strtolower(fileext($entry)), $imgextarray) && !in_array($entry, $imgfilter) && preg_match("/^[\w\-\.\[\]\(\)\<\> &]+$/", substr($entry, 0, strrpos($entry, '.'))) && strlen($entry) < 30 && is_file($smdir.'/'.$entry)) {
$newimages .= showtablerow('', array('class="td25"', 'class="td28 td24"', 'class="td23"', 'class="td24"'), array(
"<input class=\"checkbox\" type=\"checkbox\" name=\"add[$newid]\" value=\"\" checked=\"checked\">",
"<input type=\"text\" class=\"txt\" size=\"2\" name=\"adddisplayorder[$newid]\" value=\"0\">",
"<img src=\"$smurl/$entry\" border=\"0\" onload=\"if(this.height>30) {this.resized=true; this.height=30;}\" onmouseover=\"if(this.resized) this.style.cursor='pointer';\" onclick=\"if(!this.resized) {return false;} else {window.open(this.src);}\">",
"<input type=\"text\" class=\"txt\" size=\"25\" name=\"addcode[$newid]\" value=\"\" id=\"addcode_$newid\" smileyid=\"$smiley[id]\">",
"<input type=\"hidden\" size=\"25\" name=\"addurl[$newid]\" value=\"$entry\" id=\"addurl_$newid\">$entry"
), TRUE);
$newid ++;
}
}
$smiliesdir->close();
ajaxshowheader();
if($newimages) {
showformheader("smilies&operation=edit&do=add&id=$id");
showtableheader('smilies_add', 'notop fixpadding');
showsubtitle(array('', 'display_order', 'smilies_edit_image', 'smilies_edit_code', 'smilies_edit_filename'));
echo $newimages;
showtablerow('', array('', 'colspan="4"'), array(
'',
$lang['smilies_edit_add_code'].' <input type="text" class="txt" style="margin-right:0;width:40px;" size="2" value="'.$lang['smilies_prefix'].'" id="addprefix" onclick="clearinput(this, \''.$lang['smilies_prefix'].'\')"> + <select id="addmiddle"><option value="1">'.$lang['smilies_edit_order_file'].'</option><option value="2">'.$lang['smilies_edit_order_radom'].'</option></select> + <input type="text" class="txt" style="margin-right:0;width:40px;" size="2" value="'.$lang['smilies_suffix'].'" id="addsuffix" onclick="clearinput(this, \''.$lang['smilies_suffix'].'\')" /> <input type="button" class="btn" onclick="addsmileycodes(\''.$newid.'\', \'add\');" value="'.$lang['apply'].'" />'
));
showtablerow('', array('', 'colspan="4"'), array(
'<input type="checkbox" name="chkall" onclick="checkAll(\'prefix\', this.form, \'add\')" class="checkbox" checked="checked">'.$lang['enable'],
'<input type="submit" class="btn" name="editsubmit" value="'.$lang['submit'].'"> <input type="button" class="btn" value="'.$lang['research'].'" onclick="ajaxget(\'admincp.php?action=smilies&operation=edit&do=add&id='.$id.'&search=yes\', \'addsmilies\', \'addsmilies\', \'auto\');doane(event);">'
));
showtablefooter();
showformfooter();
} else {
eval("\$lang[smilies_edit_add_tips] = \"".$lang['smilies_edit_add_tips']."\";");
showtableheader('smilies_add', 'notop');
showtablerow('', 'class="lineheight"', $lang['smilies_edit_add_tips']);
showtablerow('', '', '<input type="button" class="btn" value="'.$lang['research'].'" onclick="ajaxget(\'admincp.php?action=smilies&operation=edit&do=add&id='.$id.'&search=yes\', \'addsmilies\', \'addsmilies\', \'auto\');doane(event);">');
showtablefooter();
}
ajaxshowfooter();
exit;
}
} else {
if(is_array($add)) {
foreach($add as $k => $v) {
$addcode[$k] = trim($addcode[$k]);
if($addcode[$k] != '') {
$db->query("INSERT INTO {$tablepre}smilies (type, displayorder, typeid, code, url)
VALUES ('smiley', '{$adddisplayorder[$k]}', '$id', '$addcode[$k]', '$addurl[$k]')");
}
}
}
updatecache(array('smilies', 'smilies_display'));
cpmsg('smilies_edit_succeed', "admincp.php?action=smilies&operation=edit&id=$id", 'succeed');
}
}
echo <<<EOT
<script type="text/JavaScript">
function addsmileycodes(smiliesnum, pre) {
smiliesnum = parseInt(smiliesnum);
if(smiliesnum > 1) {
for(var i = 1; i < smiliesnum; i++) {
var prefix = trim($(pre + 'prefix').value);
var suffix = trim($(pre + 'suffix').value);
var page = parseInt('$page');
var middle = $(pre + 'middle').value == 1 ? $(pre + 'url_' + i).value.substr(0,$(pre + 'url_' + i).value.lastIndexOf('.')) : ($(pre + 'middle').value == 2 ? i + page * 10 : $(pre + 'code_'+ i).attributes['smileyid'].nodeValue);
if(!prefix || prefix == '$lang[smilies_prefix]' || !suffix || suffix == '$lang[smilies_suffix]') {
alert('$lang[smilies_prefix_tips]');
return;
}
suffix = !suffix || suffix == '$lang[smilies_suffix]' ? '' : suffix;
$(pre + 'code_' + i).value = prefix + middle + suffix;
}
}
}
function clearinput(obj, defaultval) {
if(obj.value == defaultval) {
obj.value = '';
}
}
</script>
EOT;
} elseif($operation == 'import') {
if(!submitcheck('importsubmit')) {
shownav('topic', 'smilies_edit');
showsubmenu('nav_smilies', array(
array('smilies_type', 'smilies', 0),
array('smilies_import', 'smilies&operation=import', 1),
));
showtips('smilies_tips_import');
showformheader('smilies&operation=import', 'enctype');
showtableheader('smilies_import');
showtablerow('', '', '<input type="file" name="importfile" size="40" class="uploadbtn marginbot" />');
showsubmit('importsubmit');
showtablefooter();
showformfooter();
} else {
$smiliesdata = preg_replace("/(#.*\s+)*/", '', @implode('', file($_FILES['importfile']['tmp_name'])));
@unlink($_FILES['importfile']['tmp_name']);
$smileyarray = daddslashes(unserialize(base64_decode($smiliesdata)), 1);
if(!is_array($smileyarray) || !is_array($smileyarray['smilies'])) {
cpmsg('smilies_import_data_invalid', '', 'error');
}
$renamed = 0;
if($db->result_first("SELECT COUNT(*) FROM {$tablepre}imagetypes WHERE type='smiley' AND name='$smileyarray[name]'")) {
$smileyarray['name'] .= '_'.random(4);
$renamed = 1;
}
$db->query("INSERT INTO {$tablepre}imagetypes (name, type, directory)
VALUES ('$smileyarray[name]', 'smiley', '$smileyarray[directory]')");
$typeid = $db->insert_id();
foreach($smileyarray['smilies'] as $key => $smiley) {
$substitute = @htmlspecialchars($substitute);
$db->query("INSERT INTO {$tablepre}smilies (type, typeid, displayorder, code, url)
VALUES ('smiley', '$typeid', '$smiley[displayorder]', '$smiley[code]', '$smiley[url]')");
}
updatecache(array('smileytypes', 'smilies', 'smilies_display'));
cpmsg($renamed ? 'smilies_import_succeed_renamed' : 'smilies_import_succeed', 'admincp.php?action=smilies', 'succeed');
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -