예제 #1
0
파일: ctl.profile.php 프로젝트: noikiy/cxe
 function saveSelf()
 {
     $this->begin('index.php?ctl=admin/profile&act=operator');
     $oOpt =& $this->system->loadModel('admin/operator');
     if ($_POST['changepwd']) {
         $row = $oOpt->instance($this->system->op_id, 'userpass,username');
         $_pwd = md5(md5($_POST['oldpass']) . $row['username']);
         $_pwd = substr($_pwd, 0, 31);
         $_POST['oldpass'] = '******' . $_pwd;
         if ($_POST['oldpass'] != $row['userpass']) {
             $this->end(false, __('请输入正确的当前密码'));
         }
         if ($_POST['userpass'] != $_POST['passowrd_again']) {
             $this->end(false, __('两次密码输入不一致'));
         }
     } else {
         unset($_POST['userpass']);
     }
     array_key_filter($_POST, 'userpass,timezone');
     $oOpt->update($_POST, array('op_id' => $this->system->op_id));
     $_POST['op_id'] = $this->system->op_id;
     $oProfile =& $this->system->loadModel('adminprofile');
     $oProfile->load($this->system->op_id);
     $this->end($oOpt->toUpdateSelf($_POST, $oProfile->setting()), __('信息保存成功'));
 }
function array_array_key_filter($array, $key, $inArray = true)
{
    $returnArr = array();
    foreach ($array as $k => $v) {
        if (is_array($array)) {
            $line = array_key_filter($v, $key, $inArray);
            array_push($returnArr, $line);
        } else {
            return array_key_filter($array, $key, $inArray);
        }
    }
    return $returnArr;
}
예제 #3
0
 function saveSelf()
 {
     $this->begin('index.php?ctl=admin/profile&act=operator');
     $oOpt = $this->system->loadModel('admin/operator');
     if ($_POST['changepwd']) {
         $row = $oOpt->instance($this->op->opid, 'userpass');
         if (md5($_POST['oldpass']) != $row['userpass']) {
             trigger_error('请输入正确的当前密码', E_USER_ERROR);
         }
         if ($_POST['userpass'] != $_POST['passowrd_again']) {
             trigger_error('两次密码输入不一致', E_USER_ERROR);
         }
     } else {
         unset($_POST['userpass']);
     }
     array_key_filter($_POST, 'userpass,timezone');
     $oOpt->update($_POST, array('op_id' => $this->op->opid));
     $_POST['op_id'] = $this->op->opid;
     $oProfile = $this->system->loadModel('adminProfile');
     $oProfile->load($this->op->opid);
     $this->end($oOpt->toUpdateSelf($_POST, $oProfile->setting()), '信息保存成功');
 }
예제 #4
0
파일: ctl.member.php 프로젝트: noikiy/cxe
 function saveMember()
 {
     foreach ($_POST as $kec => $kev) {
         $_POST[$kec] = strip_tags($kev);
     }
     for ($i = 0; $i <= 100; $i++) {
         if (preg_match('/^(19|20)[0-9]{2}-([1-9]|0[1-9]|1[012])-([1-9]|0[1-9]|[12][0-9]|3[01])+$/', $_POST[$i])) {
             $_POST[$i] = strtotime($_POST[$i]);
         }
     }
     $post = array_keys($_POST);
     for ($i = 0; $i < count($post); $i++) {
         if (is_numeric($post[$i])) {
             $custom[] = $post[$i];
         }
     }
     array_key_filter($_POST, 'area,addr,name,mobile,tel,zip,sex,date,pw_question,pw_answer,cur,email,birthday,b_year,b_month,b_day,is_register,def_addr,plugUrl,' . implode(',', $custom));
     $memc_da = $_POST;
     $memc_da['uname'] = $_COOKIE['UNAME'];
     $this->system->setcookie('CUR', $_POST['cur'], null);
     $oMem =& $this->system->loadModel('member/member');
     if ($_POST['name']) {
         if (!preg_match('/^[^\\x00-\\x2f^\\x3a-\\x40]{2,20}$/i', $_POST['name']) && !is_numeric($_POST['name'][0])) {
             $this->splash('failed', $this->system->mkUrl("member", "setting"), __('姓名包含非法字符!'));
         }
     }
     if ($_POST['email']) {
         if (!preg_match('/.+@.+$/', $_POST['email'])) {
             $this->splash('failed', $this->system->mkUrl("member", "setting"), __('请填写正确格式的电子邮件地址'));
         }
     }
     if ($_POST['birthday']) {
         list($_POST['b_year'], $_POST['b_month'], $_POST['b_day']) = explode('-', $_POST['birthday']);
     }
     $mobile = $oMem->getBasicInfoById($this->member['member_id']);
     //获取数据库的注册信息
     $memc_da['passwd'] = '密码已加密';
     //echo "<pre>";var_dump($mobile);exit;
     if ($oMem->save($this->member['member_id'], $_POST)) {
         //注册填写手机时发送短信和邮件,待优化
         if ($memc_da['mobile'] && $mobile['password'] && !$mobile['mobile']) {
             //注册会员第一次编辑手机时发送短信,修改不发
             $acc_mod = $this->system->loadModel("member/account");
             $acc_mod->fireEvent('register', $memc_da, $this->member['member_id']);
         }
         //如果和注册符合收货条件的,存为默认收货地址
         if ($_POST['is_register'] && $_POST['name'] && ($_POST['tel'] || $_POST['mobile']) && $_POST['addr']) {
             $_POST['def_addr'] = 1;
             $member =& $this->system->loadModel('member/member');
             $member->insertRec($_POST, $this->member['member_id']);
         }
         if ($_POST['plugUrl']) {
             $url = $_POST['plugUrl'];
         } else {
             $url = $this->system->mkUrl("member");
         }
         $allkeys = array_keys($_POST);
         $count = 0;
         for ($i = 0; $i < count($allkeys); $i++) {
             if (is_numeric($allkeys[$i])) {
                 if (!is_array($_POST[$allkeys[$i]])) {
                     $memattr[$count]['member_id'] = $this->member['member_id'];
                     $memattr[$count]['attr_id'] = $allkeys[$i];
                     $memattr[$count]['value'] = htmlspecialchars($_POST[$allkeys[$i]]);
                     $oMem->updateMemAttr($this->member['member_id'], $allkeys[$i], $memattr[$count]);
                     $count++;
                 } else {
                     $tmp = $_POST[$allkeys[$i]];
                     $oMem->deleteMattrvalues($allkeys[$i], $this->member['member_id']);
                     for ($j = 0; $j < count($tmp); $j++) {
                         $tmpdate['member_id'] = $this->member['member_id'];
                         $tmpdate['attr_id'] = $allkeys[$i];
                         $tmpdate['value'] = htmlspecialchars($tmp[$j]);
                         $oMem->saveMemAttr($tmpdate);
                     }
                 }
             }
         }
         $this->splash('success', $url, __('提交成功'));
     } else {
         $this->splash('failed', $this->system->mkUrl("member", "setting"), __('提交失败'));
     }
 }
예제 #5
0
 function saveMember()
 {
     $post = array_keys($_POST);
     for ($i = 0; $i < count($post); $i++) {
         if (is_numeric($post[$i])) {
             $custom[] = $post[$i];
         }
     }
     array_key_filter($_POST, 'area,addr,name,mobile,tel,zip,sex,date,pw_question,pw_answer,cur,email,birthday,b_year,b_month,b_day,is_register,def_addr,plugUrl,' . implode(',', $custom));
     $this->system->setcookie('CUR', $_POST['cur'], null);
     $oMem = $this->system->loadModel('member/member');
     if ($_POST['name']) {
         if (!preg_match('/^[^\\x00-\\x2f^\\x3a-\\x40]{2,20}$/i', $_POST['name']) && !is_numeric($_POST['name'][0])) {
             $this->splash('failed', $this->system->mkUrl("member", "setting"), __('姓名包含非法字符!'));
         }
     }
     if ($_POST['email']) {
         if (!preg_match('/.+@.+$/', $_POST['email'])) {
             $this->splash('failed', $this->system->mkUrl("member", "setting"), __('请填写正确格式的电子邮件地址'));
         }
     }
     if ($_POST['birthday']) {
         $aTmp = explode('-', $_POST['birthday']);
         $_POST['b_year'] = $aTmp[0];
         $_POST['b_month'] = $aTmp[1];
         $_POST['b_day'] = $aTmp[2];
     }
     if ($oMem->save($this->member['member_id'], $_POST)) {
         //如果和注册符合收货条件的,存为默认收货地址
         if ($_POST['is_register'] && $_POST['name'] && ($_POST['tel'] || $_POST['mobile']) && $_POST['addr']) {
             $_POST['def_addr'] = 1;
             $member = $this->system->loadModel('member/member');
             $member->insertRec($_POST, $this->member['member_id']);
         }
         if ($_POST['plugUrl']) {
             $url = $_POST['plugUrl'];
         } else {
             $url = $this->system->mkUrl("member");
         }
         $allkeys = array_keys($_POST);
         $count = 0;
         for ($i = 0; $i < count($allkeys); $i++) {
             if (is_numeric($allkeys[$i])) {
                 if (!is_array($_POST[$allkeys[$i]])) {
                     $memattr[$count]['member_id'] = $this->member['member_id'];
                     $memattr[$count]['attr_id'] = $allkeys[$i];
                     $memattr[$count]['value'] = htmlspecialchars($_POST[$allkeys[$i]]);
                     $oMem->updateMemAttr($this->member['member_id'], $allkeys[$i], $memattr[$count]);
                     $count++;
                 } else {
                     $tmp = $_POST[$allkeys[$i]];
                     $oMem->deleteMattrvalues($allkeys[$i], $this->member['member_id']);
                     for ($j = 0; $j < count($tmp); $j++) {
                         $tmpdate['member_id'] = $this->member['member_id'];
                         $tmpdate['attr_id'] = $allkeys[$i];
                         $tmpdate['value'] = htmlspecialchars($tmp[$j]);
                         $oMem->saveMemAttr($tmpdate);
                     }
                 }
             }
         }
         $this->splash('success', $url, __('提交成功'));
     } else {
         $this->splash('failed', $this->system->mkUrl("member", "setting"), __('提交失败'));
     }
 }