Пример #1
0
require "www2-funcs.php";
login_init();
bbs_session_modify_user_mode(BBS_MODE_USERDEF);
toolbox_header("个人参数修改");
assert_login();
define('SHOWTELNETPARAM', 0);
//是否显示 telnet 选项
/* 格式:每项五个参数,第一个 0 表示 telnet 下专用参数;第二个是参数名称;第三个是参数具体解释;第四五是参数 ON 和 OFF 所代表的具体含义 */
$user_define = array(array(0, "显示活动看版", "是否显示活动看板", "显示", "不显示"), array(0, "使用彩色", "是否使用彩色显示", "使用", "不使用"), array(0, "编辑时显示状态栏", "编辑文章时是否显示状态栏", "显示", "不显示"), array(0, "分类讨论区以 New 显示", "是否以未读方式阅读分类讨论区", "是", "否"), array(0, "选单的讯息栏", "是否显示选单讯息栏", "显示", "不显示"), array(0, "上站时显示好友名单", "上站时是否显示好友在线名单", "显示", "不显示"), array(0, "让好友呼叫", "当呼叫器关闭时是否允许好友呼叫", "是", "否"), array(0, "使用自己的离站画面", "是否使用自己的离站画面", "是", "否"), array(0, "进站时显示备忘录", "进站时是否显示备忘录", "是", "否"), array(0, "离站时显示备忘录", "离站时是否显示备忘录", "是", "否"), array(0, "讯息栏模式", "讯息栏的显示内容", "呼叫器状态", "在线人数"), array(0, "菜单模式选择", "telnet的菜单模式", "缺省模式", "精简模式"), array(0, "阅读文章是否使用绕卷选择", "阅读文章是否绕卷选择", "是", "否"), array(0, "阅读文章游标停於第一篇未读", "文章列表时光标自动定位的位置", "第一篇未读文章", "最新一篇文章"), array(0, "屏幕标题色彩", "屏幕标题色彩显示模式", "标准", "自动变换"), array(1, "接受所有人的讯息", "是否允许所有人给您发短消息", "是", "否"), array(1, "接受好友的讯息", "是否允许好友给您发短消息", "是", "否"), array(0, "收到讯息发出声音", "收到短信后是否以声音提醒您", "是", "否"), array(0, "离站後寄回所有讯息", "退出登录时是否把短信息寄回信箱", "是", "否"), array(0, "发文章时实时显示讯息", "编辑文章时是否实时显示短消息", "是", "否"), array(0, "菜单上显示帮助信息", "是否在菜单上显示帮助信息", "是", "否"), array(0, "进站时显示十大新闻", "进站时是否显示十大热门话题", "显示", "不显示"), array(0, "进站时观看留言版", "进站时是否显示留言板", "显示", "不显示"), array(0, "忽略讯息功能键", "用哪个键忽略短信", "Enter键", "Esc键"), array(0, "使用高亮界面", "是否使用高亮界面", "使用", "不使用"), array(0, "进站时观看上站人数统计图", "进站时是否显示上站人数统计图", "显示", "不显示"), array(0, "未读标记字符", "用哪个字符作为未读标记", "*", "N"), array(0, "使用GB码阅读", "用GB码阅读", "是", "否"), array(0, "对汉字进行整字处理", "是否对汉字进行整字处理", "是", "否"), array(0, "显示详细用户信息(wForum)", "是否允许他人看到您的用户资料", "允许", "不允许"), array(0, "显示真实用户信息(wForum)", "是否允许他人看到您的真实资料", "允许", "不允许"));
$user_define1 = array(array(1, "隐藏 IP", "是否隐藏自己的 IP 信息", "隐藏", "不隐藏"));
$mailbox_prop = array(array(1, "发信时保存信件到发件箱", "是否发信时自动选择保存到发件箱", "保存", "不保存"), array(1, "删除信件时不保存到垃圾箱", "是否删除信件时不保存到垃圾箱", "不保存", "保存"), array(0, "快捷邮箱键", "版面按 'v' 时进入什么界面", "信箱主界面", "收件箱"), array(1, "自动清除过期垃圾邮件", "是否自动清除过期垃圾邮件", "是", "否"));
if (isset($_GET['do'])) {
    $userdefine0 = getOptions("user_define", $currentuser['userdefine0']);
    $userdefine1 = getOptions("user_define1", $currentuser['userdefine1']);
    $mailbox_prop = getOptions("mailbox_prop", $currentuinfo['mailbox_prop']);
    bbs_setuserparam($userdefine0, $userdefine1, $mailbox_prop);
    html_success_quit("参数修改成功");
    exit;
}
showOptionsForm();
page_footer();
function getOptions($var_name, $oldvalue)
{
    global ${$var_name};
    $userdefine = ${$var_name};
    $ccc = count($userdefine);
    $flags = $oldvalue;
    for ($i = 0; $i < $ccc; $i++) {
        if (isset($_POST[$var_name . "_" . $i])) {
            if ($_POST[$var_name . "_" . $i] == 1) {
                $flags |= 1 << $i;
Пример #2
0
 /**
  * function setCustom set user custom via $val
  * the structure of $val is
  * array($k => array("pos"=>int, "val"=>))
  * the $k must in $this->_customList
  *
  * @param array $val
  * @return void
  * @access public
  */
 public function setCustom($val)
 {
     foreach ($this->_customList as $p) {
         if (!isset($val[$p])) {
             return false;
         }
         $prop = $this->{$p};
         foreach ($val[$p] as $v) {
             if ($v['val'] == 1) {
                 $prop |= 1 << $v['pos'];
             } else {
                 $prop &= ~(1 << $v['pos']);
             }
         }
         ${$p} = $prop;
     }
     bbs_setuserparam(${$this->_customList[0]}, ${$this->_customList[1]}, ${$this->_customList[2]});
 }