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)); } }
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!')); } }
/** * 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); }
/** * 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; }