示例#1
0
 private function validate()
 {
     if (empty($this->settings['CurrentPass'])) {
         $this->error = '<div class="alert alert-error">' . _('You must enter the current password to make changes.') . '</div>';
         return false;
     }
     $params = array(':username' => $this->username);
     $sql = "SELECT `password` FROM `accounts` WHERE {$this->username_type} = :username;";
     $stmt = parent::query($sql, $params);
     $row = $stmt->fetch(PDO::FETCH_ASSOC);
     if (!parent::validatePassword($this->settings['CurrentPass'], $row['password'])) {
         $this->error = '<div class="alert alert-error">' . _('You entered the wrong current password.') . '</div>';
         return false;
     }
     if (empty($this->settings['name'])) {
         $this->error .= '<div class="alert alert-error">' . _('You must enter a name.') . '</div>';
     }
     if (!parent::isEmail($this->settings['email'])) {
         $this->error .= '<div class="alert alert-error">' . _('You have entered an invalid e-mail address, try again.') . '</div>';
     }
     if (!empty($this->settings['password'])) {
         if ($this->settings['password'] != $this->settings['confirm']) {
             $this->error .= '<div class="alert alert-error">' . _('Your passwords did not match.') . '</div>';
         }
         if (strlen($this->settings['password']) < 5) {
             $this->error = '<div class="alert alert-error">' . _('Your password must be at least 5 characters.') . '</div>';
         }
     }
     // Checkbox handling
     $sql = "SELECT * FROM `login_profile_fields`;";
     $stmt = parent::query($sql);
     while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
         $name = 'p-' . $row['id'];
         if ($row['type'] == 'checkbox') {
             $this->settings[$name] = !empty($this->settings[$name]) ? 1 : 0;
         }
     }
 }
 private function validate()
 {
     //If demo, check that user being edited isn't any demo user accounts
     if ($this->is_demo()) {
         if ($this->settings['username'] == 'admin' || $this->settings['username'] == 'special' || $this->settings['username'] == 'user') {
             $this->error = '<div class="alert alert-danger">You cannot edit this user because it is a demo user. Please create a new user to test out this functionality.</div>';
             return false;
         }
     }
     if (empty($this->settings['CurrentPass'])) {
         $this->error = '<div class="alert alert-danger">' . _('You must enter the current password to make changes.') . '</div>';
         return false;
     }
     $params = array(':username' => $this->username);
     $sql = "SELECT `password` FROM `login_users` WHERE {$this->username_type} = :username;";
     $stmt = parent::query($sql, $params);
     $row = $stmt->fetch(PDO::FETCH_ASSOC);
     if (!parent::validatePassword($this->settings['CurrentPass'], $row['password'])) {
         $this->error = '<div class="alert alert-danger">' . _('You entered the wrong current password.') . '</div>';
         return false;
     }
     if (empty($this->settings['name'])) {
         $this->error .= '<div class="alert alert-danger">' . _('You must enter a name.') . '</div>';
     }
     if (!parent::isEmail($this->settings['email'])) {
         $this->error .= '<div class="alert alert-danger">' . _('You have entered an invalid e-mail address, try again.') . '</div>';
     }
     if (!empty($this->settings['password'])) {
         if ($this->settings['password'] != $this->settings['confirm']) {
             $this->error .= '<div class="alert alert-danger">' . _('Your passwords did not match.') . '</div>';
         }
         if (strlen($this->settings['password']) < 5) {
             $this->error = '<div class="alert alert-danger">' . _('Your password must be at least 5 characters.') . '</div>';
         }
     }
     // Checkbox handling
     $sql = "SELECT * FROM `login_profile_fields`;";
     $stmt = parent::query($sql);
     while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
         $name = 'p-' . $row['id'];
         if ($row['type'] == 'checkbox') {
             $this->settings[$name] = !empty($this->settings[$name]) ? 1 : 0;
         }
     }
 }