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