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 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;
 }
 private function key_hash()
 {
     return KeyGenerator::generate_key(5);
 }
Beispiel #7
0
 /**
  * @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;
 }