/** * @param type $name * @param \User $user * @return \Project * @throws \ExistingProjectException */ public function createProject($values, \User $user) { $project = new \Project(); $key = $this->keyGenerator->generateKey(); $name = Strings::webalize(Strings::lower(Strings::toAscii($values->caption))); $name = str_replace('-', '_', $name); $project->setCaption($values->caption)->setName($name)->setSourceLanguage($values->sourceLang)->setLink($values->link)->setKey($key); $project->setOwner($user); $this->dm->persist($project); $this->dm->flush(); return $project; }
public function InsertAndSendMail() { $quotedAuthor = trim($_POST['mail']); $quotedTitle = trim($_POST['title']); $isbn = Isbn::stringFromPost(); $year = (int) trim($_POST['year']); $price = (double) str_replace(',', '.', $_POST['price']); $quotedDescription = $_POST['desc']; $key = KeyGenerator::genKey(); $query = 'insert into books' . ' (author, title, year, price, isbn, description, mail, auth_key' . ', created,expires)' . ' values (' . '"' . $quotedAuthor . '"' . ', "' . $quotedTitle . '"' . ', "' . $year . '"' . ', "' . $price . '"' . ', "' . $isbn . '"' . ', "' . $quotedDescription . '"' . ', "' . $this->getMail() . '"' . ', "' . $key . '"' . ', now()' . ', date_add(now(), interval 45 day)' . ')'; mysql_query($query); $book_id = mysql_insert_id(); $this->selectableCategories->setBookId($book_id); $this->selectableCategories->update(); $subject = ''; $message = 'Mit deiner E-Mailadresse wurde das unten stehende Buch angeboten. Hebe diese E-Mail auf, um das Angebot später ändern und löschen zu können.'; Mailer::send($book_id, $subject, $message); $searches = new Searches(); if ($searches->areActivated()) { $author = stripslashes($quotedAuthor); $title = stripslashes($quotedTitle); $description = stripslashes($quotedDescription); $searches->bookAdded($book_id, $author, $title, $description); } header('Location: book.php?id=' . $book_id . '&key=' . $key . '&new=1'); exit; }
public static function display($content, $type, $timeout = 0, $display_small = false) { $tpl = new FileTemplate('framework/helper/message.tpl'); switch ($type) { case self::SUCCESS: $css_class = 'success'; $image = 'error_success'; break; case self::NOTICE: $css_class = 'notice'; $image = 'error_notice'; break; case self::WARNING: $css_class = 'warning'; $image = 'error_warning'; break; case self::ERROR: $css_class = 'error'; $image = 'error_fatal'; break; case self::QUESTION: $css_class = 'question'; $image = 'error_question'; break; } $tpl->put_all(array('ID' => KeyGenerator::generate_key(4), 'MESSAGE_CSS_CLASS' => $css_class . ($display_small ? ' message-helper-small' : ''), 'MESSAGE_IMG' => $image, 'MESSAGE_CONTENT' => $content, 'C_TIMEOUT' => $timeout > 0, 'TIMEOUT' => $timeout * 1000)); return $tpl; }
private function change_password($user_id, $change_password_pass, $password) { PHPBoostAuthenticationMethod::update_auth_infos($user_id, null, null, KeyGenerator::string_hash($password), null, ''); $session = AppContext::get_session(); if ($session != null) { Session::delete($session); } AppContext::set_session(Session::create($user_id, true)); AppContext::get_response()->redirect(Environment::get_home_page()); }
private function send_email() { $change_password_pass = KeyGenerator::generate_key(15); $user = $this->get_user(); PHPBoostAuthenticationMethod::update_auth_infos($user->get_id(), null, null, null, null, $change_password_pass); $general_config = GeneralConfig::load(); $parameters = array('pseudo' => $user->get_display_name(), 'host' => $general_config->get_site_url(), 'change_password_link' => UserUrlBuilder::change_password($change_password_pass)->absolute(), 'signature' => MailServiceConfig::load()->get_mail_signature()); $subject = $general_config->get_site_name() . ' : ' . $this->lang['forget-password']; $content = StringVars::replace_vars($this->lang['forget-password.mail.content'], $parameters); AppContext::get_mail_service()->send_from_properties($user->get_email(), $subject, $content); $this->tpl->put('MSG', MessageHelper::display($this->lang['forget-password.success'], MessageHelper::SUCCESS)); }
public static function change_key($user_id) { $data = new AutoConnectData($user_id, KeyGenerator::generate_key(64)); $data->save_in_db(); return $data; }
private function save() { $has_error = false; $registration_pass = $this->user_accounts_config->get_member_accounts_validation_method() == UserAccountsConfig::MAIL_USER_ACCOUNTS_VALIDATION ? KeyGenerator::generate_key(15) : ''; $user_aprobation = $this->user_accounts_config->get_member_accounts_validation_method() == UserAccountsConfig::AUTOMATIC_USER_ACCOUNTS_VALIDATION; $user = new User(); $user->set_display_name($this->form->get_value('display_name')); $user->set_level(User::MEMBER_LEVEL); $user->set_email($this->form->get_value('email')); $user->set_show_email(!$this->form->get_value('user_hide_mail')); $user->set_locale($this->form->get_value('lang')->get_raw_value()); $user->set_editor($this->form->get_value('text-editor')->get_raw_value()); $user->set_timezone($this->form->get_value('timezone')->get_raw_value()); if ($this->form->has_field('theme')) { $user->set_theme($this->form->get_value('theme')->get_raw_value()); } $login = $this->form->get_value('email'); if ($this->form->get_value('custom_login')) { $login = $this->form->get_value('login'); } $auth_method = new PHPBoostAuthenticationMethod($login, $this->form->get_value('password')); $auth_method->set_association_parameters($user_aprobation, $registration_pass); try { $user_id = UserService::create($user, $auth_method, $this->member_extended_fields_service); } catch (MemberExtendedFieldErrorsMessageException $e) { $has_error = true; $this->tpl->put('MSG', MessageHelper::display($e->getMessage(), MessageHelper::NOTICE)); } if (!$has_error) { UserRegistrationService::send_email_confirmation($user_id, $user->get_email(), $this->form->get_value('display_name'), $login, $this->form->get_value('password'), $registration_pass); $this->confirm_registration($user_id); } }
/** * @desc * @param int $user_id * @return SessionData */ public static function create_from_user_id($user_id) { $data = null; if ($user_id != Session::VISITOR_SESSION_ID && self::session_exists($user_id)) { $data = self::use_existing_session($user_id); } else { $data = new SessionData($user_id, KeyGenerator::generate_key(64)); $data->token = KeyGenerator::generate_key(16); $data->timestamp = time(); $data->ip = AppContext::get_request()->get_ip_address(); self::fill_user_cached_data($data); $data->create(); self::add_in_visit_counter(); } return $data; }
public function testGenerateNonce() { $secret = $this->keyGenerator->generateNonce(); $this->assertRegexp('/^[0-9A-Za-z\\/\\.]{64}$/', $secret); }
/** * @desc Generates a unique file name. Completes informations on the file. * @param string $filename The filename * @param boolean $uniq_name */ private function generate_file_info($uniq_name) { $filename = $this->original_filename; $this->extension = strtolower(substr(strrchr($filename, '.'), 1)); if (strrpos($filename, '.') !== FALSE) { $filename = substr($filename, 0, strrpos($filename, '.')); } $filename = str_replace('.', '_', $filename); $filename = self::clean_filename($filename); if ($uniq_name) { $filename_tmp = $filename; if (!empty($this->extension)) { $filename_tmp .= '.' . $this->extension; } $filename1 = $filename; while (file_exists($this->base_directory . $filename_tmp)) { $filename1 = $filename . '_' . KeyGenerator::generate_key(5); $filename_tmp = $filename1; if (!empty($this->extension)) { $filename_tmp .= '.' . $this->extension; } } $filename = $filename1; } if (!empty($this->extension)) { $filename .= '.' . $this->extension; } $this->filename = $filename; }
public function addSearch($search, $mail) { $key = KeyGenerator::genKey(); $query = 'insert into searches' . ' (search, mail, life_counter, auth_key) values' . ' ("' . $search . '"' . ', "' . $mail . '"' . ', 100 + (select count(*) from books)' . ', "' . $key . '");'; mysql_query($query); }
public function testGenerateDifferentKeys() { $key1 = KeyGenerator::generate(12); $key2 = KeyGenerator::generate(12); $this->assertNotEquals($key1, $key2); }
private function key_hash() { return KeyGenerator::generate_key(5); }
private function save(HTTPRequestCustom $request) { $has_error = false; $user_id = $this->user->get_id(); if ($this->form->get_value('delete_account')) { UserService::delete_by_id($user_id); } else { $approbation = $this->internal_auth_infos['approved']; if (AppContext::get_current_user()->is_admin()) { $old_approbation = $approbation; $approbation = $this->form->get_value('approbation'); $groups = array(); foreach ($this->form->get_value('groups') as $field => $option) { $groups[] = $option->get_raw_value(); } GroupsService::edit_member($user_id, $groups); $this->user->set_groups($groups); $this->user->set_level($this->form->get_value('rank')->get_raw_value()); } if ($this->form->has_field('theme')) { $this->user->set_theme($this->form->get_value('theme')->get_raw_value()); } $this->user->set_locale($this->form->get_value('lang')->get_raw_value()); $this->user->set_display_name($this->form->get_value('display_name')); $this->user->set_email($this->form->get_value('email')); $this->user->set_locale($this->form->get_value('lang')->get_raw_value()); $this->user->set_editor($this->form->get_value('text-editor')->get_raw_value()); $this->user->set_show_email(!$this->form->get_value('user_hide_mail')); $this->user->set_timezone($this->form->get_value('timezone')->get_raw_value()); try { UserService::update($this->user, $this->member_extended_fields_service); } catch (MemberExtendedFieldErrorsMessageException $e) { $has_error = true; $this->tpl->put('MSG', MessageHelper::display($e->getMessage(), MessageHelper::NOTICE)); } $login = $this->form->get_value('email'); if ($this->form->get_value('custom_login', false)) { $login = $this->form->get_value('login'); } $password = $this->form->get_value('password'); if ($this->internal_auth_infos === null && !empty($password)) { $authentication_method = new PHPBoostAuthenticationMethod($login, $password); AuthenticationService::associate($authentication_method, $user_id); } elseif (!empty($password)) { $old_password = $this->form->get_value('old_password'); if (!empty($old_password)) { $old_password_hashed = KeyGenerator::string_hash($old_password); if ($old_password_hashed == $this->internal_auth_infos['password']) { PHPBoostAuthenticationMethod::update_auth_infos($user_id, $login, $approbation, KeyGenerator::string_hash($password)); $has_error = false; } else { $has_error = true; $this->tpl->put('MSG', MessageHelper::display($this->lang['profile.edit.password.error'], MessageHelper::NOTICE)); } } } else { PHPBoostAuthenticationMethod::update_auth_infos($user_id, $login, $approbation); } if (AppContext::get_current_user()->is_admin()) { if ($old_approbation != $approbation && $old_approbation == 0) { //Recherche de l'alerte correspondante $matching_alerts = AdministratorAlertService::find_by_criteria($user_id, 'member_account_to_approbate'); //L'alerte a été trouvée if (count($matching_alerts) == 1) { $alert = $matching_alerts[0]; $alert->set_status(AdministratorAlert::ADMIN_ALERT_STATUS_PROCESSED); AdministratorAlertService::save_alert($alert); $site_name = GeneralConfig::load()->get_site_name(); $subject = StringVars::replace_vars($this->user_lang['registration.subject-mail'], array('site_name' => $site_name)); $content = StringVars::replace_vars($this->user_lang['registration.email.mail-administrator-validation'], array('pseudo' => $this->user->get_display_name(), 'site_name' => $site_name, 'signature' => MailServiceConfig::load()->get_mail_signature())); AppContext::get_mail_service()->send_from_properties($this->user->get_email(), $subject, $content); } } $user_warning = $this->form->get_value('user_warning')->get_raw_value(); if (!empty($user_warning) && $user_warning != $this->user->get_warning_percentage()) { MemberSanctionManager::caution($user_id, $user_warning, MemberSanctionManager::SEND_MP, str_replace('%level%', $user_warning, LangLoader::get_message('user_warning_level_changed', 'main'))); } elseif (empty($user_warning)) { MemberSanctionManager::cancel_caution($user_id); } $user_readonly = $this->form->get_value('user_readonly')->get_raw_value(); if (!empty($user_readonly) && $user_readonly != $this->user->get_delay_readonly()) { MemberSanctionManager::remove_write_permissions($user_id, time() + $user_readonly, MemberSanctionManager::SEND_MP, str_replace('%date%', $this->form->get_value('user_readonly')->get_label(), LangLoader::get_message('user_readonly_changed', 'main'))); } elseif (empty($user_readonly)) { MemberSanctionManager::restore_write_permissions($user_id); } $user_ban = $this->form->get_value('user_ban')->get_raw_value(); if (!empty($user_ban) && $user_ban != $this->user->get_delay_banned()) { MemberSanctionManager::banish($user_id, time() + $user_ban, MemberSanctionManager::SEND_MAIL); } elseif ($user_ban != $this->user->get_delay_banned()) { MemberSanctionManager::cancel_banishment($user_id); } } SessionData::recheck_cached_data_from_user_id($user_id); } if (!$has_error) { AppContext::get_response()->redirect($request->get_url_referrer() ? $request->get_url_referrer() : UserUrlBuilder::edit_profile($user_id), $this->lang['user.message.success.edit']); } }
/** * Request new id * Generate key and redirect to CreateNew Method */ function Create() { require_once "Include/KeyGenerator.php"; $key = KeyGenerator::getkey(); header("Location:/Codebank-App/App/Home/CreateNew/" . $key); }
function testGenKey() { $key1 = KeyGenerator::genKey(); $key2 = KeyGenerator::genKey(); $this->assertNotEquals($key1, $key2); }
public function __construct($login, $password) { $this->login = $login; $this->password = KeyGenerator::string_hash($password); $this->querier = PersistenceContext::get_querier(); }