Example #1
0
 public function __construct()
 {
     parent::__construct();
     // Thumbnail
     $oImg = new Image($_FILES['thumb']['tmp_name']);
     if (!$oImg->validate()) {
         \PFBC\Form::setError('form_game', Form::wrongImgFileTypeMsg());
         return;
         // Stop execution of the method.
     }
     $sThumbFile = Various::genRnd($oImg->getFileName(), 30) . $oImg->getExt();
     $sThumbDir = PH7_PATH_PUBLIC_DATA_SYS_MOD . 'game/img/thumb/';
     $oImg->square(60);
     $oImg->save($sThumbDir . $sThumbFile);
     unset($oImg);
     // Game
     $sGameFile = Various::genRnd($_FILES['file']['name'], 30) . PH7_DOT . $this->file->getFileExt($_FILES['file']['name']);
     $sGameDir = PH7_PATH_PUBLIC_DATA_SYS_MOD . 'game/file/';
     // If the folders is not created (games not installed), yet we will create.
     $this->file->createDir(array($sThumbDir, $sGameDir));
     if (!@move_uploaded_file($_FILES['file']['tmp_name'], $sGameDir . $sGameFile)) {
         \PFBC\Form::setError('form_game', t('Impossible to upload the game. If you are the administrator, please check if the folder of games data has the write permission (CHMOD 755).'));
     } else {
         $aData = ['category_id' => $this->httpRequest->post('category_id', 'int'), 'name' => $this->httpRequest->post('name'), 'title' => $this->httpRequest->post('title'), 'description' => $this->httpRequest->post('description'), 'keywords' => $this->httpRequest->post('keywords'), 'thumb' => $sThumbFile, 'file' => $sGameFile];
         (new GameModel())->add($aData);
         /* Clean GameModel Cache */
         (new Framework\Cache\Cache())->start(GameModel::CACHE_GROUP, null, null)->clear();
         HeaderUrl::redirect(Uri::get('game', 'main', 'game', $aData['title'] . ',' . Db::getInstance()->lastInsertId()), t('The game was added successfully!'));
     }
 }
Example #2
0
 public function __construct()
 {
     parent::__construct();
     /**
      * This can cause minor errors (eg if a user sent a file that is not a video).
      * So we hide the errors if we are not in development mode.
      */
     if (!isDebug()) {
         error_reporting(0);
     }
     // Resizing and saving the video album thumbnail
     $oPicture = new Image($_FILES['album']['tmp_name']);
     if (!$oPicture->validate()) {
         \PFBC\Form::setError('form_video_album', Form::wrongImgFileTypeMsg());
     } else {
         $iApproved = DbConfig::getSetting('videoManualApproval') == 0 ? '1' : '0';
         $sFileName = Various::genRnd($oPicture->getFileName(), 1) . '-thumb.' . $oPicture->getExt();
         (new VideoModel())->addAlbum($this->session->get('member_id'), $this->httpRequest->post('name'), $this->httpRequest->post('description'), $sFileName, $this->dateTime->get()->dateTime('Y-m-d H:i:s'), $iApproved);
         $iLastAlbumId = (int) Db::getInstance()->lastInsertId();
         $oPicture->square(200);
         /* Set watermark text on thumbnail */
         $sWatermarkText = DbConfig::getSetting('watermarkTextImage');
         $iSizeWatermarkText = DbConfig::getSetting('sizeWatermarkTextImage');
         $oPicture->watermarkText($sWatermarkText, $iSizeWatermarkText);
         $sPath = PH7_PATH_PUBLIC_DATA_SYS_MOD . 'video/file/' . $this->session->get('member_username') . PH7_DS . $iLastAlbumId . PH7_DS;
         $this->file->createDir($sPath);
         $oPicture->save($sPath . $sFileName);
         /* Clean VideoModel Cache */
         (new Framework\Cache\Cache())->start(VideoModel::CACHE_GROUP, null, null)->clear();
         HeaderUrl::redirect(Uri::get('video', 'main', 'addvideo', $iLastAlbumId));
     }
 }
Example #3
0
 /**
  * Sets the Blog Thumbnail.
  *
  * @param object $oPost
  * @param \PH7\Framework\File\File $oFile
  * @return void
  */
 public function setThumb($oPost, Framework\File\File $oFile)
 {
     if (!empty($_FILES['thumb']['tmp_name'])) {
         $oImage = new Framework\Image\Image($_FILES['thumb']['tmp_name']);
         if (!$oImage->validate()) {
             \PFBC\Form::setError('form_blog', Form::wrongImgFileTypeMsg());
         } else {
             /**
              * The method deleteFile first test if the file exists, if so it delete the file.
              */
             $sPathName = PH7_PATH_PUBLIC_DATA_SYS_MOD . 'blog/' . PH7_IMG . $oPost->blogId;
             $oFile->deleteFile($sPathName);
             // It erases the old thumbnail
             $oFile->createDir($sPathName);
             $oImage->square(100);
             $oImage->save($sPathName . '/thumb.png');
         }
         unset($oImage);
     }
 }
Example #4
0
 /**
  * Sets the Note Thumbnail.
  *
  * @param object $oPost
  * @param \PH7\NoteModel $oNoteModel
  * @param \PH7\Framework\File\File $oFile
  * @return void
  */
 public function setThumb($oPost, NoteModel $oNoteModel, Framework\File\File $oFile)
 {
     if (!empty($_FILES['thumb']['tmp_name'])) {
         $oImage = new Framework\Image\Image($_FILES['thumb']['tmp_name']);
         if (!$oImage->validate()) {
             \PFBC\Form::setError('form_note', Form::wrongImgFileTypeMsg());
         } else {
             /**
              * The method deleteFile first test if the file exists, if so it delete the file.
              */
             $sPathName = PH7_PATH_PUBLIC_DATA_SYS_MOD . 'note/' . PH7_IMG . $oPost->username . PH7_SH;
             $oFile->deleteFile($sPathName);
             // It erases the old thumbnail
             $oFile->createDir($sPathName);
             $sFileName = Various::genRnd($oImage->getFileName(), 20) . PH7_DOT . $oImage->getExt();
             $oImage->square(100);
             $oImage->save($sPathName . $sFileName);
             $oNoteModel->updatePost('thumb', $sFileName, $oPost->noteId, $oPost->profileId);
         }
         unset($oImage);
     }
 }
 public function __construct()
 {
     parent::__construct();
     /**
      * @desc This can cause minor errors (eg if a user sent a file that is not a photo).
      * So we hide the errors if we are not in development mode.
      */
     if (!isDebug()) {
         error_reporting(0);
     }
     /**
      * @desc
      * Check if the photo album ID is valid. The value must be numeric.
      * This test is necessary because when the selection exists but that no option is available (this can when a user wants to add photos but he has no album)
      * the return value is of type "string" and the value is "1".
      */
     if (!is_numeric($this->httpRequest->post('album_id'))) {
         \PFBC\Form::setError('form_picture', t('Please add a category before you add some photos.'));
         return;
         // Stop execution of the method.
     }
     /**
      * @desc Resizing and saving some photos
      */
     $aPhotos = $_FILES['photos']['tmp_name'];
     for ($i = 0, $iNumPhotos = count($aPhotos); $i < $iNumPhotos; $i++) {
         $oPicture1 = new Image($aPhotos[$i], 2500, 2500);
         if (!$oPicture1->validate()) {
             \PFBC\Form::setError('form_picture', Form::wrongImgFileTypeMsg());
             return;
             // Stop execution of the method.
         }
         $sAlbumTitle = $this->httpRequest->post('album_title');
         $iAlbumId = (int) $this->httpRequest->post('album_id');
         $oPicture2 = clone $oPicture1;
         $oPicture3 = clone $oPicture1;
         $oPicture4 = clone $oPicture1;
         $oPicture5 = clone $oPicture1;
         $oPicture6 = clone $oPicture1;
         $oPicture2->square(400);
         $oPicture3->square(600);
         $oPicture4->square(800);
         $oPicture5->square(1000);
         $oPicture6->square(1200);
         /* Set watermark text on images */
         $sWatermarkText = DbConfig::getSetting('watermarkTextImage');
         $iSizeWatermarkText = DbConfig::getSetting('sizeWatermarkTextImage');
         $oPicture1->watermarkText($sWatermarkText, $iSizeWatermarkText);
         $oPicture2->watermarkText($sWatermarkText, $iSizeWatermarkText);
         $oPicture3->watermarkText($sWatermarkText, $iSizeWatermarkText);
         $oPicture4->watermarkText($sWatermarkText, $iSizeWatermarkText);
         $oPicture5->watermarkText($sWatermarkText, $iSizeWatermarkText);
         $oPicture6->watermarkText($sWatermarkText, $iSizeWatermarkText);
         $sPath = PH7_PATH_PUBLIC_DATA_SYS_MOD . 'picture/img/' . $this->session->get('member_username') . PH7_DS . $iAlbumId . PH7_DS;
         $sFileName = Various::genRnd($oPicture1->getFileName(), 20);
         $sFile1 = $sFileName . '-original.' . $oPicture1->getExt();
         // Original
         $sFile2 = $sFileName . '-400.' . $oPicture2->getExt();
         $sFile3 = $sFileName . '-600.' . $oPicture3->getExt();
         $sFile4 = $sFileName . '-800.' . $oPicture4->getExt();
         $sFile5 = $sFileName . '-1000.' . $oPicture5->getExt();
         $sFile6 = $sFileName . '-1200.' . $oPicture6->getExt();
         $oPicture1->save($sPath . $sFile1);
         $oPicture2->save($sPath . $sFile2);
         $oPicture3->save($sPath . $sFile3);
         $oPicture4->save($sPath . $sFile4);
         $oPicture5->save($sPath . $sFile5);
         $oPicture6->save($sPath . $sFile6);
         $iApproved = DbConfig::getSetting('pictureManualApproval') == 0 ? '1' : '0';
         // It creates a nice title if no title is specified.
         $sTitle = $this->httpRequest->postExists('title') && $this->str->length($this->str->trim($this->httpRequest->post('title'))) > 2 ? $this->httpRequest->post('title') : $this->str->upperFirst(str_replace(array('-', '_'), ' ', str_ireplace(PH7_DOT . $oPicture1->getExt(), '', escape($_FILES['photos']['name'][$i], true))));
         (new PictureModel())->addPhoto($this->session->get('member_id'), $iAlbumId, $sTitle, $this->httpRequest->post('description'), $sFile1, $this->dateTime->get()->dateTime('Y-m-d H:i:s'), $iApproved);
     }
     /* Clean PictureModel Cache */
     (new Framework\Cache\Cache())->start(PictureModel::CACHE_GROUP, null, null)->clear();
     $sModerationText = t('Your photo(s) has been received! But it will be visible once approved by our moderators. Please do not send a new photo(s) because this is useless!');
     $sText = t('Your photo(s) has been added successfully!');
     $sMsg = $iApproved == '0' ? $sModerationText : $sText;
     Header::redirect(Uri::get('picture', 'main', 'album', $this->session->get('member_username') . ',' . $sAlbumTitle . ',' . $iAlbumId), $sMsg);
 }
 public function __construct()
 {
     parent::__construct();
     /********** General Settings **********/
     if (!$this->str->equals($this->httpRequest->post('site_name'), DbConfig::getSetting('siteName'))) {
         DbConfig::setSetting($this->httpRequest->post('site_name'), 'siteName');
     }
     if (!$this->str->equals($this->httpRequest->post('default_template'), DbConfig::getSetting('defaultTemplate'))) {
         DbConfig::setSetting($this->httpRequest->post('default_template'), 'defaultTemplate');
     }
     if (!$this->str->equals($this->httpRequest->post('default_language'), DbConfig::getSetting('defaultLanguage'))) {
         DbConfig::setSetting($this->httpRequest->post('default_language'), 'defaultLanguage');
     }
     if (!$this->str->equals($this->httpRequest->post('map_type'), DbConfig::getSetting('mapType'))) {
         DbConfig::setSetting($this->httpRequest->post('map_type'), 'mapType');
     }
     if (!$this->str->equals($this->httpRequest->post('splash_page'), DbConfig::getSetting('splashPage'))) {
         DbConfig::setSetting($this->httpRequest->post('splash_page'), 'splashPage');
     }
     if (!$this->str->equals($this->httpRequest->post('bg_splash_vid'), DbConfig::getSetting('bgSplashVideo'))) {
         DbConfig::setSetting($this->httpRequest->post('bg_splash_vid'), 'bgSplashVideo');
     }
     if (!$this->str->equals($this->httpRequest->post('full_ajax_site'), DbConfig::getSetting('fullAjaxSite'))) {
         DbConfig::setSetting($this->httpRequest->post('full_ajax_site'), 'fullAjaxSite');
     }
     if (!$this->str->equals($this->httpRequest->post('site_status'), DbConfig::getSetting('siteStatus'))) {
         DbConfig::setSiteMode($this->httpRequest->post('site_status'));
     }
     if (!$this->str->equals($this->httpRequest->post('disclaimer'), DbConfig::getSetting('disclaimer'))) {
         DbConfig::setSetting($this->httpRequest->post('disclaimer'), 'disclaimer');
     }
     if (!$this->str->equals($this->httpRequest->post('cookie_consent_bar'), DbConfig::getSetting('cookieConsentBar'))) {
         DbConfig::setSetting($this->httpRequest->post('cookie_consent_bar'), 'cookieConsentBar');
     }
     if (!$this->str->equals($this->httpRequest->post('is_software_news_feed'), DbConfig::getSetting('isSoftwareNewsFeed'))) {
         DbConfig::setSetting($this->httpRequest->post('is_software_news_feed'), 'isSoftwareNewsFeed');
     }
     /********** Logo Settings **********/
     if (!empty($_FILES['logo']['tmp_name'])) {
         $oLogo = new Framework\Image\Image($_FILES['logo']['tmp_name']);
         if (!$oLogo->validate()) {
             \PFBC\Form::setError('form_setting', Form::wrongImgFileTypeMsg());
             $this->bIsErr = true;
         } else {
             /*
              * The method deleteFile first test if the file exists, if so it delete the file.
              */
             $sPathName = PH7_PATH_TPL . PH7_TPL_NAME . PH7_DS . PH7_IMG . 'logo.png';
             $this->file->deleteFile($sPathName);
             // It erases the old logo.
             $oLogo->dynamicResize(250, 60);
             $oLogo->save($sPathName);
             // Clear CSS cache, because the logo is storaged with data URI in the CSS cache file
             $this->file->deleteDir(PH7_PATH_CACHE . Framework\Layout\Gzip::CACHE_DIR);
             // Clear the Web browser cache
             (new Framework\Navigation\Browser())->noCache();
         }
     }
     /********** Email **********/
     if (!$this->str->equals($this->httpRequest->post('email_name'), DbConfig::getSetting('emailName'))) {
         DbConfig::setSetting($this->httpRequest->post('email_name'), 'emailName');
     }
     if (!$this->str->equals($this->httpRequest->post('admin_email'), DbConfig::getSetting('adminEmail'))) {
         DbConfig::setSetting($this->httpRequest->post('admin_email'), 'adminEmail');
     }
     if (!$this->str->equals($this->httpRequest->post('feedback_email'), DbConfig::getSetting('feedbackEmail'))) {
         DbConfig::setSetting($this->httpRequest->post('feedback_email'), 'feedbackEmail');
     }
     if (!$this->str->equals($this->httpRequest->post('return_email'), DbConfig::getSetting('returnEmail'))) {
         DbConfig::setSetting($this->httpRequest->post('return_email'), 'returnEmail');
     }
     /********** Registration **********/
     if (!$this->str->equals($this->httpRequest->post('user_activation_type'), DbConfig::getSetting('userActivationType'))) {
         DbConfig::setSetting($this->httpRequest->post('user_activation_type'), 'userActivationType');
     }
     if (!$this->str->equals($this->httpRequest->post('aff_activation_type'), DbConfig::getSetting('affActivationType'))) {
         DbConfig::setSetting($this->httpRequest->post('aff_activation_type'), 'affActivationType');
     }
     if (!$this->str->equals($this->httpRequest->post('min_username_length'), DbConfig::getSetting('minUsernameLength'))) {
         $iMaxUsernameLength = DbConfig::getSetting('maxUsernameLength') - 1;
         if ($this->httpRequest->post('min_username_length') > $iMaxUsernameLength) {
             \PFBC\Form::setError('form_setting', t('The minimum length of the username cannot exceed %0% characters.', $iMaxUsernameLength));
             $this->bIsErr = true;
         } else {
             DbConfig::setSetting($this->httpRequest->post('min_username_length'), 'minUsernameLength');
         }
     }
     if (!$this->str->equals($this->httpRequest->post('max_username_length'), DbConfig::getSetting('maxUsernameLength'))) {
         if ($this->httpRequest->post('max_username_length') > PH7_MAX_USERNAME_LENGTH) {
             \PFBC\Form::setError('form_setting', t('The maximum length of the username cannot exceed %0% characters.', PH7_MAX_USERNAME_LENGTH));
             $this->bIsErr = true;
         } else {
             DbConfig::setSetting($this->httpRequest->post('max_username_length'), 'maxUsernameLength');
         }
     }
     if (!$this->str->equals($this->httpRequest->post('min_age_registration'), DbConfig::getSetting('minAgeRegistration'))) {
         if ($this->httpRequest->post('min_age_registration') >= DbConfig::getSetting('maxAgeRegistration')) {
             \PFBC\Form::setError('form_setting', t('You cannot specify a minimum age higher than the maximum age.'));
             $this->bIsErr = true;
         } else {
             DbConfig::setSetting($this->httpRequest->post('min_age_registration'), 'minAgeRegistration');
         }
     }
     if (!$this->str->equals($this->httpRequest->post('max_age_registration'), DbConfig::getSetting('maxAgeRegistration'))) {
         DbConfig::setSetting($this->httpRequest->post('max_age_registration'), 'maxAgeRegistration');
     }
     if (!$this->str->equals($this->httpRequest->post('default_membership_group_id'), DbConfig::getSetting('defaultMembershipGroupId'))) {
         DbConfig::setSetting($this->httpRequest->post('default_membership_group_id'), 'defaultMembershipGroupId');
     }
     /********** Picture and Video **********/
     // Image
     if (!$this->str->equals($this->httpRequest->post('watermark_text_image'), DbConfig::getSetting('watermarkTextImage'))) {
         DbConfig::setSetting($this->httpRequest->post('watermark_text_image'), 'watermarkTextImage');
     }
     if (!$this->str->equals($this->httpRequest->post('size_watermark_text_image'), DbConfig::getSetting('sizeWatermarkTextImage')) && ($this->httpRequest->post('size_watermark_text_image') >= 0 && $this->httpRequest->post('size_watermark_text_image') <= 5)) {
         DbConfig::setSetting($this->httpRequest->post('size_watermark_text_image'), 'sizeWatermarkTextImage');
     }
     // Video
     if (!$this->str->equals($this->httpRequest->post('default_video'), DbConfig::getSetting('defaultVideo'))) {
         DbConfig::setSetting($this->httpRequest->post('default_video'), 'defaultVideo');
     }
     if (!$this->str->equals($this->httpRequest->post('autoplay_video'), DbConfig::getSetting('autoplayVideo'))) {
         DbConfig::setSetting($this->httpRequest->post('autoplay_video'), 'autoplayVideo');
     }
     /********** Moderation **********/
     if (!$this->str->equals($this->httpRequest->post('avatar_manual_approval'), DbConfig::getSetting('avatarManualApproval'))) {
         DbConfig::setSetting($this->httpRequest->post('avatar_manual_approval'), 'avatarManualApproval');
     }
     if (!$this->str->equals($this->httpRequest->post('profile_background_manual_approval'), DbConfig::getSetting('profileBackgroundManualApproval'))) {
         DbConfig::setSetting($this->httpRequest->post('profile_background_manual_approval'), 'profileBackgroundManualApproval');
     }
     if (!$this->str->equals($this->httpRequest->post('note_manual_approval'), DbConfig::getSetting('noteManualApproval'))) {
         DbConfig::setSetting($this->httpRequest->post('note_manual_approval'), 'noteManualApproval');
     }
     if (!$this->str->equals($this->httpRequest->post('picture_manual_approval'), DbConfig::getSetting('pictureManualApproval'))) {
         DbConfig::setSetting($this->httpRequest->post('picture_manual_approval'), 'pictureManualApproval');
     }
     if (!$this->str->equals($this->httpRequest->post('video_manual_approval'), DbConfig::getSetting('videoManualApproval'))) {
         DbConfig::setSetting($this->httpRequest->post('video_manual_approval'), 'videoManualApproval');
     }
     if (!$this->str->equals($this->httpRequest->post('webcam_picture_manual_approval'), DbConfig::getSetting('webcamPictureManualApproval'))) {
         DbConfig::setSetting($this->httpRequest->post('webcam_picture_manual_approval'), 'webcamPictureManualApproval');
     }
     /********** Security **********/
     if (!$this->str->equals($this->httpRequest->post('min_password_length'), DbConfig::getSetting('minPasswordLength'))) {
         DbConfig::setSetting($this->httpRequest->post('min_password_length'), 'minPasswordLength');
     }
     if (!$this->str->equals($this->httpRequest->post('max_password_length'), DbConfig::getSetting('maxPasswordLength'))) {
         DbConfig::setSetting($this->httpRequest->post('max_password_length'), 'maxPasswordLength');
     }
     if (!$this->str->equals($this->httpRequest->post('is_user_login_attempt'), DbConfig::getSetting('isUserLoginAttempt'))) {
         DbConfig::setSetting($this->httpRequest->post('is_user_login_attempt'), 'isUserLoginAttempt');
     }
     if (!$this->str->equals($this->httpRequest->post('is_affiliate_login_attempt'), DbConfig::getSetting('isAffiliateLoginAttempt'))) {
         DbConfig::setSetting($this->httpRequest->post('is_affiliate_login_attempt'), 'isAffiliateLoginAttempt');
     }
     if (!$this->str->equals($this->httpRequest->post('is_admin_login_attempt'), DbConfig::getSetting('isAdminLoginAttempt'))) {
         DbConfig::setSetting($this->httpRequest->post('is_admin_login_attempt'), 'isAdminLoginAttempt');
     }
     if (!$this->str->equals($this->httpRequest->post('max_user_login_attempts'), DbConfig::getSetting('maxUserLoginAttempts'))) {
         DbConfig::setSetting($this->httpRequest->post('max_user_login_attempts'), 'maxUserLoginAttempts');
     }
     if (!$this->str->equals($this->httpRequest->post('max_affiliate_login_attempts'), DbConfig::getSetting('maxAffiliateLoginAttempts'))) {
         DbConfig::setSetting($this->httpRequest->post('max_affiliate_login_attempts'), 'maxAffiliateLoginAttempts');
     }
     if (!$this->str->equals($this->httpRequest->post('max_admin_login_attempts'), DbConfig::getSetting('maxAdminLoginAttempts'))) {
         DbConfig::setSetting($this->httpRequest->post('max_admin_login_attempts'), 'maxAdminLoginAttempts');
     }
     if (!$this->str->equals($this->httpRequest->post('login_user_attempt_time'), DbConfig::getSetting('loginUserAttemptTime'))) {
         DbConfig::setSetting($this->httpRequest->post('login_user_attempt_time'), 'loginUserAttemptTime');
     }
     if (!$this->str->equals($this->httpRequest->post('login_affiliate_attempt_time'), DbConfig::getSetting('loginAffiliateAttemptTime'))) {
         DbConfig::setSetting($this->httpRequest->post('login_affiliate_attempt_time'), 'loginAffiliateAttemptTime');
     }
     if (!$this->str->equals($this->httpRequest->post('login_admin_attempt_time'), DbConfig::getSetting('loginAdminAttemptTime'))) {
         DbConfig::setSetting($this->httpRequest->post('login_admin_attempt_time'), 'loginAdminAttemptTime');
     }
     if (!$this->str->equals($this->httpRequest->post('send_report_mail'), DbConfig::getSetting('sendReportMail'))) {
         DbConfig::setSetting($this->httpRequest->post('send_report_mail'), 'sendReportMail');
     }
     if (!$this->str->equals($this->httpRequest->post('ip_login'), DbConfig::getSetting('ipLogin'))) {
         DbConfig::setSetting($this->httpRequest->post('ip_login'), 'ipLogin');
     }
     if (!$this->str->equals($this->httpRequest->post('ban_word_replace'), DbConfig::getSetting('banWordReplace'))) {
         DbConfig::setSetting($this->httpRequest->post('ban_word_replace'), 'banWordReplace');
     }
     if (!$this->str->equals($this->httpRequest->post('security_token'), DbConfig::getSetting('securityToken'))) {
         DbConfig::setSetting($this->httpRequest->post('security_token'), 'securityToken');
     }
     $iSecTokenLifetime = (int) $this->httpRequest->post('security_token_lifetime');
     if (!$this->str->equals($iSecTokenLifetime, DbConfig::getSetting('securityTokenLifetime'))) {
         if ($iSecTokenLifetime < 10) {
             \PFBC\Form::setError('form_setting', t('The token lifetime cannot be below 10 seconds.'));
             $this->bIsErr = true;
         } else {
             DbConfig::setSetting($iSecTokenLifetime, 'securityTokenLifetime');
         }
     }
     if (!$this->str->equals($this->httpRequest->post('stop_DDoS'), DbConfig::getSetting('DDoS'))) {
         DbConfig::setSetting($this->httpRequest->post('stop_DDoS'), 'DDoS');
     }
     /********** Spam **********/
     // Time Delay
     if (!$this->str->equals($this->httpRequest->post('time_delay_user_registration'), DbConfig::getSetting('timeDelayUserRegistration'))) {
         DbConfig::setSetting($this->httpRequest->post('time_delay_user_registration'), 'timeDelayUserRegistration');
     }
     if (!$this->str->equals($this->httpRequest->post('time_delay_aff_registration'), DbConfig::getSetting('timeDelayAffRegistration'))) {
         DbConfig::setSetting($this->httpRequest->post('time_delay_aff_registration'), 'timeDelayAffRegistration');
     }
     if (!$this->str->equals($this->httpRequest->post('time_delay_send_note'), DbConfig::getSetting('timeDelaySendNote'))) {
         DbConfig::setSetting($this->httpRequest->post('time_delay_send_note'), 'timeDelaySendNote');
     }
     if (!$this->str->equals($this->httpRequest->post('time_delay_send_mail'), DbConfig::getSetting('timeDelaySendMail'))) {
         DbConfig::setSetting($this->httpRequest->post('time_delay_send_mail'), 'timeDelaySendMail');
     }
     if (!$this->str->equals($this->httpRequest->post('time_delay_send_comment'), DbConfig::getSetting('timeDelaySendComment'))) {
         DbConfig::setSetting($this->httpRequest->post('time_delay_send_comment'), 'timeDelaySendComment');
     }
     if (!$this->str->equals($this->httpRequest->post('time_delay_send_forum_topic'), DbConfig::getSetting('timeDelaySendForumTopic'))) {
         DbConfig::setSetting($this->httpRequest->post('time_delay_send_forum_topic'), 'timeDelaySendForumTopic');
     }
     if (!$this->str->equals($this->httpRequest->post('time_delay_send_forum_msg'), DbConfig::getSetting('timeDelaySendForumMsg'))) {
         DbConfig::setSetting($this->httpRequest->post('time_delay_send_forum_msg'), 'timeDelaySendForumMsg');
     }
     // Captcha
     if (!$this->str->equals($this->httpRequest->post('is_captcha_user_signup'), DbConfig::getSetting('isCaptchaUserSignup'))) {
         DbConfig::setSetting($this->httpRequest->post('is_captcha_user_signup'), 'isCaptchaUserSignup');
     }
     if (!$this->str->equals($this->httpRequest->post('is_captcha_affiliate_signup'), DbConfig::getSetting('isCaptchaAffiliateSignup'))) {
         DbConfig::setSetting($this->httpRequest->post('is_captcha_affiliate_signup'), 'isCaptchaAffiliateSignup');
     }
     if (!$this->str->equals($this->httpRequest->post('is_captcha_mail'), DbConfig::getSetting('isCaptchaMail'))) {
         DbConfig::setSetting($this->httpRequest->post('is_captcha_mail'), 'isCaptchaMail');
     }
     if (!$this->str->equals($this->httpRequest->post('is_captcha_comment'), DbConfig::getSetting('isCaptchaComment'))) {
         DbConfig::setSetting($this->httpRequest->post('is_captcha_comment'), 'isCaptchaComment');
     }
     if (!$this->str->equals($this->httpRequest->post('is_captcha_forum'), DbConfig::getSetting('isCaptchaForum'))) {
         DbConfig::setSetting($this->httpRequest->post('is_captcha_forum'), 'isCaptchaForum');
     }
     if (!$this->str->equals($this->httpRequest->post('is_captcha_note'), DbConfig::getSetting('isCaptchaNote'))) {
         DbConfig::setSetting($this->httpRequest->post('is_captcha_note'), 'isCaptchaNote');
     }
     if (!$this->str->equals($this->httpRequest->post('clean_msg'), DbConfig::getSetting('cleanMsg'))) {
         DbConfig::setSetting($this->httpRequest->post('clean_msg'), 'cleanMsg');
     }
     if (!$this->str->equals($this->httpRequest->post('clean_comment'), DbConfig::getSetting('cleanComment'))) {
         DbConfig::setSetting($this->httpRequest->post('clean_comment'), 'cleanComment');
     }
     /********** Api **********/
     if (!$this->str->equals($this->httpRequest->post('ip_api'), DbConfig::getSetting('ipApi'))) {
         DbConfig::setSetting($this->httpRequest->post('ip_api'), 'ipApi');
     }
     if (!$this->str->equals($this->httpRequest->post('chat_api'), DbConfig::getSetting('chatApi'))) {
         DbConfig::setSetting($this->httpRequest->post('chat_api'), 'chatApi');
     }
     if (!$this->str->equals($this->httpRequest->post('chatroulette_api'), DbConfig::getSetting('chatrouletteApi'))) {
         DbConfig::setSetting($this->httpRequest->post('chatroulette_api'), 'chatrouletteApi');
     }
     /********** Automation **********/
     if (!$this->str->equals($this->httpRequest->post('cron_security_hash'), DbConfig::getSetting('cronSecurityHash'))) {
         DbConfig::setSetting($this->httpRequest->post('cron_security_hash'), 'cronSecurityHash');
     }
     if (!$this->str->equals($this->httpRequest->post('user_timeout'), DbConfig::getSetting('userTimeout'))) {
         DbConfig::setSetting($this->httpRequest->post('user_timeout'), 'userTimeout');
     }
     /* Clean DbConfig Cache */
     (new Framework\Cache\Cache())->start(DbConfig::CACHE_GROUP, null, null)->clear();
     if (!$this->bIsErr) {
         \PFBC\Form::setSuccess('form_setting', t('The configuration was saved successfully!'));
     }
 }
 /**
  * Set a background on user profile.
  *
  * @param integer $iProfileId
  * @param string $sUsername
  * @param string $sFile
  * @param integer $iApproved (1 = approved 0 = pending) Default 1
  * @return boolean TRUE if succes, FALSE if the extension is wrong.
  */
 public function setBackground($iProfileId, $sUsername, $sFile, $iApproved = 1)
 {
     /**
      * This can cause minor errors (eg if a user sent a file that is not a photo).
      * So we hide the errors if we are not in development mode.
      */
     if (!isDebug()) {
         error_reporting(0);
     }
     $oWallpaper = new Framework\Image\Image($sFile, 600, 800);
     if (!$oWallpaper->validate()) {
         return false;
     }
     // We removes the old background if it exists and we delete the cache at the same time.
     $this->deleteBackground($iProfileId, $sUsername);
     $sPath = PH7_PATH_PUBLIC_DATA_SYS_MOD . 'user/background/img/' . $sUsername . PH7_SH;
     (new File())->createDir($sPath);
     $sFileName = Various::genRnd($oWallpaper->getFileName(), 1);
     $sFile = $sFileName . '.' . $oWallpaper->getExt();
     // Add the profile background
     (new UserCoreModel())->addBackground($iProfileId, $sFile, $iApproved);
     // Saved the new background
     $oWallpaper->save($sPath . $sFile);
     unset($oWallpaper);
     return true;
 }