Exemplo n.º 1
0
 function _process()
 {
     global $messageStack, $osC_Database, $osC_Language, $osC_Customer;
     $data = array();
     $j_to_g = array();
     if (ACCOUNT_GENDER == '1') {
         if (isset($_POST['gender']) && ($_POST['gender'] == 'm' || $_POST['gender'] == 'f')) {
             $data['gender'] = $_POST['gender'];
         } else {
             $messageStack->add($this->_module, $osC_Language->get('field_customer_gender_error'));
         }
     } else {
         $data['gender'] = isset($_POST['gender']) ? $_POST['gender'] : '';
     }
     if (isset($_POST['firstname']) && strlen(trim($_POST['firstname'])) >= ACCOUNT_FIRST_NAME) {
         $data['firstname'] = $_POST['firstname'];
     } else {
         $messageStack->add('account_edit', sprintf($osC_Language->get('field_customer_first_name_error'), ACCOUNT_FIRST_NAME));
     }
     if (isset($_POST['lastname']) && strlen(trim($_POST['lastname'])) >= ACCOUNT_LAST_NAME) {
         $data['lastname'] = $_POST['lastname'];
     } else {
         $messageStack->add('account_edit', sprintf($osC_Language->get('field_customer_last_name_error'), ACCOUNT_LAST_NAME));
     }
     if (ACCOUNT_DATE_OF_BIRTH == '1') {
         if (isset($_POST['dob_days']) && isset($_POST['dob_months']) && isset($_POST['dob_years']) && jcheckdate($_POST['dob_months'], $_POST['dob_days'], $_POST['dob_years'])) {
             $j_to_g = jalali_to_gregorian($_POST['dob_years'], $_POST['dob_months'], $_POST['dob_days']);
             // tabdil shamsi be miladi
             $data['dob'] = mktime(0, 0, 0, $j_to_g['1'], $j_to_g['2'], $j_to_g['0']);
         } else {
             $messageStack->add('account_edit', $osC_Language->get('field_customer_date_of_birth_error'));
         }
     }
     if (isset($_POST['email_address']) && strlen(trim($_POST['email_address'])) >= ACCOUNT_EMAIL_ADDRESS) {
         if (osc_validate_email_address($_POST['email_address'])) {
             if (osC_Account::checkDuplicateEntry($_POST['email_address']) === false) {
                 $data['email_address'] = $_POST['email_address'];
             } else {
                 $messageStack->add('account_edit', $osC_Language->get('field_customer_email_address_exists_error'));
             }
         } else {
             $messageStack->add('account_edit', $osC_Language->get('field_customer_email_address_check_error'));
         }
     } else {
         $messageStack->add('account_edit', sprintf($osC_Language->get('field_customer_email_address_error'), ACCOUNT_EMAIL_ADDRESS));
     }
     if ($messageStack->size('account_edit') === 0) {
         if (osC_Account::saveEntry($data)) {
             // reset the session variables
             if (ACCOUNT_GENDER > -1) {
                 $osC_Customer->setGender($data['gender']);
             }
             $osC_Customer->setFirstName(trim($data['firstname']));
             $osC_Customer->setLastName(trim($data['lastname']));
             $osC_Customer->setEmailAddress($data['email_address']);
             $messageStack->add_session('account', $osC_Language->get('success_account_updated'), 'success');
         }
         osc_redirect(osc_href_link(FILENAME_ACCOUNT, null, 'SSL'));
     }
 }