public function create($request) { $req = $request->getParameters(); $data = array(); $data['currentPageTitle'] = 'Mot de passe oublié'; $resp = new ViewResponse('password/password', $data); if (!empty($req['email']) xor !empty($req['pseudo'])) { if (!empty($req['email'])) { if (Utils::validateMail($req['email'])) { if (User::exists(array('email' => $req['email']))) { $user_id = User::find(array('email' => $req['email']))->id; $email = $req['email']; } else { $resp->addMessage(ViewMessage::error('Cette adresse E-Mail n\'est associée à aucun compte.')); return $resp; } } else { $resp->addMessage(ViewMessage::error('Merci de renseigner une adresse E-Mail valide !')); return $resp; } } else { if (!empty($req['pseudo'])) { if (User::exists(array('username' => $req['pseudo']))) { $user_id = User::find(array('username' => $req['pseudo']))->id; $email = User::find(array('username' => $req['pseudo']))->email; } else { $resp->addMessage(ViewMessage::error('Ce Pseudo n\'est associé à aucun compte.')); return $resp; } } } $key = md5(uniqid()); Password::create(array('user_id' => $user_id, 'key' => $key)); $headers = 'From: DreamVids <*****@*****.**>' . "\r\n" . 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/html; charset=utf-8' . "\r\n"; $message = 'Vous avez demandé la réinitialisation de votre mot de passe DreamVids. Clique sur le lien ci-dessous pour accéder à votre nouveau mot de passe :<br /><br /> <a href="http://dreamvids.fr/password/' . $key . '">http://dreamvids.fr/password/' . $key . '</a>'; mail($email, 'DreamVids - Mot de passe oublié', $message, $headers); $resp->addMessage(ViewMessage::success('Vous allez recevoir un E-Mail à l\'adresse ' . $email . ', suivez-en les instructions.')); } else { $resp->addMessage(ViewMessage::error('Merci de renseigner une Adresse E-Mail OU un Pseudo.')); } return $resp; }
public function generatePassword() { ClassLoader::import("library.text.Password"); return new RawResponse(Password::create(10, Password::MIX)); }
/** * @param $fieldname * @param $type * @return static */ public static final function createByType($fieldname, $type) { switch ($type) { case static::Type_Text: return Text::create($fieldname); case static::Type_Password: return Password::create($fieldname); case static::Type_TextArea: return TextArea::create($fieldname); case static::Type_CheckGroup: return CheckGroup::create($fieldname); case static::Type_RadioGroup: return RadioGroup::create($fieldname); case static::Type_Select: return Select::create($fieldname); case static::Type_MultiSelect: return MultiSelect::create($fieldname); case static::Type_Image: return Image::create($fieldname); case static::Type_MultiImage: return MultiImage::create($fieldname); case static::Type_Tags: return Tags::create($fieldname); case static::Type_Article: return Article::create($fieldname); case static::Type_Date: return Date::create($fieldname); case static::Type_SelectItem: return SelectItem::create($fieldname); case static::Type_DateTime: return DateTime::create($fieldname); case static::Type_DateRange: return DateRange::create($fieldname); case static::Type_Appendable: return Appendable::create($fieldname); } }