Example #1
0
 /**
  * Controller-Processing
  */
 public function process()
 {
     parent::process();
     $filename = $this->getRequestVar('file');
     $id = $this->getRequestVar('id');
     $db = $this->initDatabase();
     if (!$db) {
         die('0');
     }
     $file = $db->fetch($db->select('uploads', '*', "id = {$id} AND filename = '{$filename}'"));
     if (!$file) {
         usleep(500000);
         die('0');
     }
     $img = new \fpcm\model\files\image($file->filename);
     $img->setFiletime($file->uploadtime);
     $img->setUserid($file->uploaderid);
     if (!$img->save()) {
         usleep(500000);
         die('0');
     }
     $src = $this->fpcm2Path . '/data/upload/' . $file->filename;
     $dest = \fpcm\classes\baseconfig::$uploadDir . $file->filename;
     if (!file_exists($src)) {
         trigger_error("Unable to copy smiley file {$src} to {$dest}, source file not found...");
         die('0');
     }
     if (file_exists($dest)) {
         trigger_error("Unable to copy smiley file {$src} to {$dest}, destination file already exists...");
         die('0');
     }
     if (!copy($src, $dest)) {
         trigger_error("Unable to copy smiley file {$src} to {$dest}...");
         die('0');
     }
     usleep(750000);
     die('1');
 }
Example #2
0
 public function request()
 {
     if (!is_null($this->getRequestVar('mode'))) {
         $this->mode = (int) $this->getRequestVar('mode');
         if ($this->mode > 1) {
             $this->view->setShowHeader(false);
             $this->view->setShowFooter(false);
         }
     }
     if (!is_null(\fpcm\classes\http::getFiles())) {
         $uploader = new \fpcm\model\files\fileuploader(\fpcm\classes\http::getFiles());
         $result = $uploader->processUpload($this->session->getUserId());
         if (count($result['success'])) {
             $this->view->addNoticeMessage('SAVE_SUCCESS_UPLOADPHP', array('{{filenames}}' => implode(', ', $result['success'])));
         }
         if (count($result['error'])) {
             $this->view->addErrorMessage('SAVE_FAILED_UPLOADPHP', array('{{filenames}}' => implode(', ', $result['error'])));
         }
     }
     if ($this->buttonClicked('deleteFiles') && !is_null($this->getRequestVar('filenames'))) {
         $fileNames = array_map('base64_decode', $this->getRequestVar('filenames'));
         $deletedOk = array();
         $deletedFailed = array();
         foreach ($fileNames as $fileName) {
             $image = new \fpcm\model\files\image($fileName, '', '', false);
             if ($image->delete()) {
                 $deletedOk[] = $fileName;
             } else {
                 $deletedFailed[] = $fileName;
             }
         }
         if (count($deletedOk)) {
             $this->view->addNoticeMessage('DELETE_SUCCESS_FILES', array('{{filenames}}' => implode(', ', $deletedOk)));
         }
         if (count($deletedFailed)) {
             $this->view->addErrorMessage('DELETE_FAILED_FILES', array('{{filenames}}' => implode(', ', $deletedFailed)));
         }
     }
     if ($this->buttonClicked('createThumbs') && !is_null($this->getRequestVar('filenames'))) {
         $fileNames = array_map('base64_decode', $this->getRequestVar('filenames'));
         $success = array();
         $failed = array();
         foreach ($fileNames as $fileName) {
             $image = new \fpcm\model\files\image($fileName, '', '', false);
             if ($image->createThumbnail()) {
                 $success[] = $fileName;
             } else {
                 $deletedFailed[] = $fileName;
             }
         }
         if (count($success)) {
             $this->view->addNoticeMessage('DELETE_SUCCESS_NEWTHUMBS', array('{{filenames}}' => implode(', ', $success)));
         }
         if (count($failed)) {
             $this->view->addErrorMessage('DELETE_FAILED_NEWTHUMBS', array('{{filenames}}' => implode(', ', $failed)));
         }
     }
     if ($this->buttonClicked('renameFiles') && !is_null($this->getRequestVar('filenames') && $this->getRequestVar('newfilename'))) {
         $fileNames = array_map('base64_decode', $this->getRequestVar('filenames'));
         $fileName = array_shift($fileNames);
         $image = new \fpcm\model\files\image($fileName, '', '', false);
         $newname = $this->getRequestVar('newfilename');
         if ($image->rename($newname, $this->session->getUserId())) {
             $this->view->addNoticeMessage('DELETE_SUCCESS_RENAME', array('{{filename1}}' => $fileName, '{{filename2}}' => $newname));
         } else {
             $this->view->addErrorMessage('DELETE_FAILED_RENAME', array('{{filename1}}' => $fileName, '{{filename2}}' => $newname));
         }
         $this->fileList->createFilemanagerThumbs();
     }
     return true;
 }
Example #3
0
 /**
  * Erzeugt Thumbanils für Dateimanager
  * @param arraye $folderFiles
  */
 public function createFilemanagerThumbs($folderFiles = null)
 {
     $folderFiles = is_null($folderFiles) ? $this->getFolderList() : $folderFiles;
     include_once \fpcm\classes\loader::libGetFilePath('PHPImageWorkshop', 'ImageWorkshop.php');
     $filesizeLimit = \fpcm\classes\baseconfig::memoryLimit(true) * 0.025;
     $memoryWorkLimit = \fpcm\classes\baseconfig::memoryLimit(true) * 0.5;
     foreach ($folderFiles as $folderFile) {
         if (filesize($folderFile) >= $filesizeLimit) {
             $msgPath = ops::removeBaseDir($folderFile);
             \fpcm\classes\logs::syslogWrite("Skip filemanager thumbnail generation for {$msgPath} because of image dimension. You may reduce file size?");
             continue;
         }
         $phpImgWsp = \PHPImageWorkshop\ImageWorkshop::initFromPath($folderFile);
         $image = new \fpcm\model\files\image(basename($folderFile), '', '');
         if (file_exists($image->getFileManagerThumbnail())) {
             $image = null;
             $phpImgWsp = null;
             continue;
         }
         if (memory_get_usage(true) < $memoryWorkLimit) {
             $phpImgWsp->cropMaximumInPixel(0, 0, "MM");
         }
         $phpImgWsp->resizeInPixel(100, 100);
         $phpImgWsp->save(dirname($image->getFileManagerThumbnail()), basename($image->getFileManagerThumbnail()));
         if (!file_exists($image->getFileManagerThumbnail())) {
             trigger_error('Unable to create filemanager thumbnail: ' . $image->getFileManagerThumbnail());
         }
         $image = null;
         $phpImgWsp = null;
     }
 }