示例#1
0
function change()
{
    global $tpl, $login, $opt;
    $useroptions = new useroptions($login->userid);
    if (isset($_REQUEST['save'])) {
        $rs = sql('SELECT `id` FROM `profile_options` WHERE `optionset`=1 ORDER BY `id`');
        $bError = false;
        $error = ': ';
        $errorlen = ': ';
        $bErrorlen = false;
        while ($record = sql_fetch_array($rs)) {
            $id = $record['id'];
            $vis = isset($_REQUEST['chk' . $id]) ? $_REQUEST['chk' . $id] + 0 : 0;
            $value = isset($_REQUEST['inp' . $id]) ? $_REQUEST['inp' . $id] : '';
            if ($vis != 1) {
                $vis = 0;
            }
            $useroptions->setOptVisible($id, $vis);
            if (strlen($value) > 2000) {
                $errorlen .= $useroptions->getOptName($id);
                $bErrorlen = true;
            } else {
                if (!$useroptions->setOptValue($id, $value)) {
                    $error .= $useroptions->getOptName($id) . ', ';
                    $bError = true;
                }
            }
        }
        sql_free_result($rs);
        $error = substr($error, 0, -2);
        $tpl->assign('error', $bError);
        $tpl->assign('errormsg', $error);
        $tpl->assign('errorlen', $bErrorlen);
        $tpl->assign('errormsglen', $errorlen);
        if (!$useroptions->save()) {
            $bError = true;
            $tpl->assign('errorUnknown', true);
        } else {
            if (!$bError) {
                $tpl->redirect('mydetails.php');
            }
        }
    }
    assignFromDB($login->userid, false);
    $tpl->assign('edit', true);
    $tpl->display();
}