📄 project.inc.php
字号:
<?php
/*
[Discuz!] (C)2001-2007 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$RCSfile: project.inc.php,v $
$Revision: 1.21.2.2 $
$Date: 2007/03/21 15:52:03 $
*/
if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
exit('Access Denied');
}
if(!isfounder()) {
cpmsg('noaccess');
}
$query = $db->query("SELECT disabledactions FROM {$tablepre}adminactions WHERE admingid='$groupid'");
$dactionarray = ($dactionarray = unserialize($db->result($query, 0))) ? $dactionarray : array();
$allowforumsedit = !in_array('forumsedit', $dactionarray) ? 1 : 0;
$allowusergroups = !in_array('usergroups', $dactionarray) ? 1 : 0;
$allowcreditwizard = !in_array('creditwizard', $dactionarray) ? 1 : 0;
if(empty($allowforumsedit) && empty($allowusergroups) && empty($allowcreditwizard)) {
cpheader();
cpmsg('action_noaccess');
}
if($action == 'project' && $export) {
$query = $db->query("SELECT * FROM {$tablepre}projects WHERE id='$export'");
if(!$projectarray = $db->fetch_array($query)) {
cpheader();
cpmsg('undefined_action');
}
if(($projectarray['type'] == 'forum' && empty($allowforumsedit)) || ($projectarray['type'] == 'group' && empty($allowusergroups)) || ($projectarray['type'] == 'extcredit' && empty($allowcreditwizard))) {
cpheader();
cpmsg('action_noaccess');
}
$projectarray['version'] = strip_tags($version);
$time = gmdate("$dateformat $timeformat", $timestamp + $timeoffset * 3600);
$project_export = "# Discuz! Project Dump ($projectarray[type])\n".
"# Version: Discuz! $version\n".
"# Time: $time \n".
"# From: $bbname ($boardurl) \n".
"#\n".
"# Discuz! Community: http://www.Discuz.net\n".
"# Please visit our website for latest news about Discuz!\n".
"# --------------------------------------------------------\n\n\n".
wordwrap(base64_encode(serialize($projectarray)), 60, "\n", 1);
ob_end_clean();
dheader('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
dheader('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
dheader('Cache-Control: no-cache, must-revalidate');
dheader('Pragma: no-cache');
dheader('Content-Encoding: none');
dheader('Content-Length: '.strlen($project_export));
dheader('Content-Disposition: attachment; filename=discuz_project_'.$projectarray['type'].'_'.$projectarray['name'].'.txt');
dheader('Content-Type: '.(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') ? 'application/octetstream' : 'application/octet-stream'));
echo $project_export;
dexit();
}
cpheader();
if($action == 'project') {
if(!submitcheck('projectsubmit') && !submitcheck('importsubmit')) {
$listarray = array();
$projectlist = $typeadd = $selecttype = '';
$page = max(1, intval($page));
$start_limit = ($page - 1) * 10;
$allowaction = array(
'forum' => $allowforumsedit,
'group' => $allowusergroups,
'extcredit' => $allowcreditwizard,
);
if(!empty($type) && in_array($type, array('forum', 'group', 'extcredit'))) {
foreach($allowaction as $key => $val) {
if($type == $key && empty($val)) {
cpmsg('action_noaccess');
}
}
$typeadd = "WHERE type='$type'";
$selecttype = '&type='.$type;
} else {
$typeadd = $comma = '';
foreach($allowaction as $key => $val) {
if(!empty($val)) {
$typeadd .= $comma."'$key'";
$comma = ', ';
}
}
$typeadd = 'WHERE type IN ('.$typeadd.')';
}
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}projects $typeadd");
$projectnum = $db->result($query, 0);
$query = $db->query("SELECT id, name, type, description FROM {$tablepre}projects $typeadd LIMIT $start_limit, 10");
while($list = $db->fetch_array($query)) {
$list['name'] = dhtmlspecialchars($list['name']);
$list['description'] = dhtmlspecialchars($list['description']);
$type = 'project_'.$list['type'].'_scheme';
$projectlist .= "<tr align=\"center\">\n".
"<td class=\"altbg2\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[]\" value=\"$list[id]\"></td>\n".
"<td class=\"altbg2\"><input type=\"text\" size=\"15\" name=\"name[$list[id]]\" value=\"$list[name]\"></td>\n".
"<td class=\"altbg2\">$lang[$type]</td>\n".
"<td class=\"altbg2\"><input type=\"textarea\" size=\"40\" name=\"description[$list[id]]\" value=\"$list[description]\"></td>\n".
"<td class=\"altbg2\">[<a href=\"admincp.php?action=project&export=$list[id]\">".$lang['download']."</a>]</td>\n".
"<td class=\"altbg2\">[<a href=\"admincp.php?action=projectapply&projectid=$list[id]&type=$list[type]\">".$lang['apply']."</a>]</td></tr>\n";
}
$multipage = multi($projectnum, 10, $page, "admincp.php?action=project$selecttype");
shownav('project_scheme');
?>
<form method="post" action="admincp.php?action=project">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header">
<td><?=$lang['project_forum_scheme_sort']?></td></tr>
<tr><td>
<?
if($allowforumsedit) {
echo '<input class="button" type="button" value="'.$lang['project_forum_scheme'].'" onclick="window.location=\'admincp.php?action=project&type=forum\';"> ';
}
if($allowusergroups) {
echo '<input class="button" type="button" value="'.$lang['project_group_scheme'].'" onclick="window.location=\'admincp.php?action=project&type=group\';"> ';
}
if($allowcreditwizard) {
echo '<input class="button" type="button" value="'.$lang['project_extcredit_scheme'].'" onclick="window.location=\'admincp.php?action=project&type=extcredit\';"> ';
}
?>
</td></tr>
</table><br>
<?=$multipage?>
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header">
<td width="5%"><input class="checkbox" type="checkbox" name="chkall" class="category" onclick="checkall(this.form)"><?=$lang['del']?></td>
<td width="20%"><?=$lang['name']?></td><td width="15%"><?=$lang['type']?></td><td width="40%"><?=$lang['description']?></td><td width="10%"><?=$lang['export']?></td><td width="10%"><?=$lang['detail']?></td></tr>
<?=$projectlist?></table>
<?=$multipage?><br>
<center><input class="button" type="submit" name="projectsubmit" value="<?=$lang['submit']?>"></center><br>
<form method="post" action="admincp.php?action=project">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header"><td><?=$lang['project_import_stick']?></td></tr>
<tr><td class="altbg1"> <div align="center"><textarea name="projectdata" cols="80" rows="8"></textarea><br></td></tr>
</table><br>
<center><input class="button" type="submit" name="importsubmit" value="<?=$lang['submit']?>"></center></form></td></tr>
<?
} elseif(submitcheck('projectsubmit')) {
if(is_array($delete)) {
$ids = $comma = '';
foreach($delete as $id) {
$ids .= "$comma'$id'";
$comma = ',';
}
$db->query("DELETE FROM {$tablepre}projects WHERE id IN ($ids)");
}
if(is_array($name)) {
foreach($name as $id => $val) {
$db->query("UPDATE {$tablepre}projects SET name='$name[$id]', description='$description[$id]' WHERE id='$id'");
}
}
cpmsg('project_update_forum', 'admincp.php?action=project');
} elseif(submitcheck('importsubmit')) {
$projectdata = preg_replace("/(#.*\s+)*/", '', $projectdata);
$projectarray = daddslashes(unserialize(base64_decode($projectdata)), 1);
if(!is_array($projectarray)) {
cpmsg('project_import_data_invalid');
} elseif(strip_tags($projectarray['version']) != strip_tags($version)) {
cpmsg('project_export_version');
} else {
$db->query("INSERT INTO {$tablepre}projects (name, type, description, value) VALUES ('$projectarray[name]', '$projectarray[type]', '$projectarray[description]', '$projectarray[value]')");
cpmsg('project_import_succeed', 'admincp.php?action=project');
}
}
} elseif($action == 'projectadd') {
$delfields = array
(
'forum' => array('fid', 'fup', 'type', 'name', 'status', 'displayorder', 'threads', 'posts', 'todayposts', 'lastpost', 'description', 'password', 'icon', 'redirect', 'moderators', 'rules', 'threadtypes'),
'group' => array('groupid', 'radminid', 'type', 'system', 'grouptitle', 'creditshigher', 'creditslower', 'stars', 'color', 'groupavatar')
);
if(!submitcheck('addsubmit')) {
shownav('project_scheme_add');
if(!empty($projectid)) {
$query = $db->query("SELECT name, description, value FROM {$tablepre}projects WHERE id='$projectid'");
$project = $db->fetch_array($query);
}
if(($type == 'forum' && empty($allowforumsedit)) || ($type == 'group' && empty($allowusergroups)) || ($type == 'extcredit' && empty($allowcreditwizard))) {
cpmsg('action_noaccess');
}
$allselected = 'selected';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -