/** * Check for password weakness. * * @param \Gems_User_User $user * @param string $password Or null when you want a report on all the rules for this password. * @param array $codes An array of code names that identify rules that should be used only for those codes. * @return mixed String or array of strings containing warning messages */ public function reportPasswordWeakness(\Gems_User_User $user, $password, array $codes) { $this->user = $user; $this->_errors = array(); $rules = $this->project->getPasswordRules($codes); // \MUtil_Echo::track($rules); foreach ($rules as $rule => $parameter) { if (method_exists($this, $rule)) { $this->{$rule}($parameter, $password); } } // \MUtil_Echo::track($this->_errors); return $this->_errors; }