/** * (non-PHPdoc) * @see IActionController::executeAction() */ public function executeAction($parameters) { $user = $this->_websoccer->getUser(); $columns = array(); // save new password if ($parameters["newpassword"] != null) { // always create new salt (in order to invalid old cookies) $salt = SecurityUtil::generatePasswordSalt(); $hashedPassword = SecurityUtil::hashPassword($parameters["newpassword"], $salt); $columns["passwort_salt"] = $salt; $columns["passwort"] = $hashedPassword; } // handle new e-mail if ($parameters["newemail"] != null) { $activationKey = SecurityUtil::generatePassword(); $columns["schluessel"] = $activationKey; $columns["status"] = 2; $columns["email"] = $parameters["newemail"]; $user->email = $parameters["newemail"]; // send e-mail $querystr = "key=" . $columns["schluessel"] . "&userid=" . $user->id; $tplparameters["activationlink"] = $this->_websoccer->getInternalActionUrl("activate", $querystr, "activate-user", TRUE); // send e-mail EmailHelper::sendSystemEmailFromTemplate($this->_websoccer, $this->_i18n, $user->email, $this->_i18n->getMessage("activation_changedemail_subject"), "changed_email_activation", $tplparameters); $this->_websoccer->addFrontMessage(new FrontMessage(MESSAGE_TYPE_WARNING, $this->_i18n->getMessage("profile_changedemail_message_title"), $this->_i18n->getMessage("profile_changedemail_message_content"))); } $columns["name"] = $parameters["realname"]; $columns["wohnort"] = $parameters["place"]; $columns["land"] = $parameters["country"]; $columns["beruf"] = $parameters["occupation"]; $columns["interessen"] = $parameters["interests"]; $columns["lieblingsverein"] = $parameters["favorite_club"]; $columns["homepage"] = $parameters["homepage"]; $columns["c_hideinonlinelist"] = $parameters["c_hideinonlinelist"]; if ($parameters["birthday"]) { $dateObj = DateTime::createFromFormat($this->_websoccer->getConfig("date_format"), $parameters["birthday"]); $columns["geburtstag"] = $dateObj->format("Y-m-d"); } // update record if (count($columns)) { $fromTable = $this->_websoccer->getConfig("db_prefix") . "_user"; $whereCondition = "id = %d"; $this->_db->queryUpdate($columns, $fromTable, $whereCondition, $user->id); } // success message $this->_websoccer->addFrontMessage(new FrontMessage(MESSAGE_TYPE_SUCCESS, $this->_i18n->getMessage("saved_message_title"), "")); return "profile"; }
private function _sendEmail($email, $password) { $tplparameters["newpassword"] = $password; EmailHelper::sendSystemEmailFromTemplate($this->_websoccer, $this->_i18n, $email, $this->_i18n->getMessage("sendpassword_email_subject"), "sendpassword", $tplparameters); }
private function _createUser($parameters, $fromTable) { $dbcolumns = array(); $dbcolumns["nick"] = $parameters["nick"]; $dbcolumns["email"] = strtolower($parameters["email"]); $dbcolumns["passwort_salt"] = SecurityUtil::generatePasswordSalt(); $dbcolumns["passwort"] = SecurityUtil::hashPassword($parameters["pswd"], $dbcolumns["passwort_salt"]); $dbcolumns["datum_anmeldung"] = $this->_websoccer->getNowAsTimestamp(); $dbcolumns["schluessel"] = str_replace("&", "_", SecurityUtil::generatePassword()); $dbcolumns["status"] = 2; $dbcolumns["lang"] = $this->_i18n->getCurrentLanguage(); if ($this->_websoccer->getConfig("premium_initial_credit")) { $dbcolumns["premium_balance"] = $this->_websoccer->getConfig("premium_initial_credit"); } $this->_db->queryInsert($dbcolumns, $fromTable); // get user id $columns = "id"; $wherePart = "email = '%s'"; $result = $this->_db->querySelect($columns, $fromTable, $wherePart, $dbcolumns["email"]); $newuser = $result->fetch_array(); $result->free(); $querystr = "key=" . $dbcolumns["schluessel"] . "&userid=" . $newuser["id"]; $tplparameters["activationlink"] = $this->_websoccer->getInternalActionUrl("activate", $querystr, "activate-user", TRUE); // send e-mail EmailHelper::sendSystemEmailFromTemplate($this->_websoccer, $this->_i18n, $dbcolumns["email"], $this->_i18n->getMessage("activation_email_subject"), "useractivation", $tplparameters); // trigger plug-ins $event = new UserRegisteredEvent($this->_websoccer, $this->_db, $this->_i18n, $newuser["id"], $dbcolumns["nick"], $dbcolumns["email"]); PluginMediator::dispatchEvent($event); }
function _sendEmail($email, $password, $website, $i18n) { $tplparameters['newpassword'] = $password; EmailHelper::sendSystemEmailFromTemplate($website, $i18n, $email, $i18n->getMessage('sendpassword_admin_email_subject'), 'sendpassword_admin', $tplparameters); }