/** * @author Matthew McNaney <mcnaney at gmail dot com> * @version $Id$ */ function filecabinet_document($file_type = null, $file_id = null) { if (empty($file_type) || empty($file_id)) { return null; } if ($file_type == 'doc') { PHPWS_Core::initModClass('filecabinet', 'Document.php'); $document = new PHPWS_Document((int) $file_id); if (empty($document->id)) { $document->logErrors(); return NULL; } return $document->getViewLink(TRUE); } elseif ($file_type == 'image') { PHPWS_Core::initModClass('filecabinet', 'Image.php'); $image = new PHPWS_Image((int) $file_id); if (empty($image->id)) { $image->logErrors(); return NULL; } return $image->getTag(); } elseif ($file_type == 'mm' || $file_type == 'media') { PHPWS_Core::initModClass('filecabinet', 'Multimedia.php'); $multimedia = new PHPWS_Multimedia((int) $file_id); if (empty($multimedia->id)) { $multimedia->logErrors(); return NULL; } return $multimedia->getTag(); } }
public function getFileAssoc($file_type, $id, $update = true) { $file_assoc = new FC_File_Assoc(); $cropped = (int) $file_type == FC_IMAGE_CROP; if ($file_type == FC_IMAGE_FOLDER) { $vertical = (int) $_GET['direction']; $num_visible = (int) $_GET['num_visible']; if ($num_visible < 0 || $num_visible > 8) { $num_visible = $file_assoc->num_visible; } } if ($file_type == FC_IMAGE_LIGHTBOX) { $vertical = (int) $_GET['direction']; $num_visible = (int) $_GET['num_visible']; if ($num_visible < 0 || $num_visible > 99) { $num_visible = $file_assoc->num_visible; } } $db = new PHPWS_DB('fc_file_assoc'); $db->addWhere('file_type', (int) $file_type); switch ($file_type) { case FC_IMAGE_RESIZE: case FC_IMAGE_CROP: $db->addWhere('width', $this->max_width); $db->addWhere('height', $this->max_height); break; case FC_IMAGE_FOLDER: case FC_IMAGE_LIGHTBOX: $db->addWhere('vertical', $vertical); $db->addWhere('num_visible', $num_visible); break; } $db->addWhere('file_id', (int) $id); $result = $db->loadObject($file_assoc); if ($result) { if (PHPWS_Error::logIfError($result)) { return false; } elseif (!$update) { return $file_assoc; } } $file_assoc->file_type =& $file_type; $file_assoc->file_id = $id; switch ($file_type) { case FC_IMAGE_RESIZE: case FC_IMAGE_CROP: $file_assoc->width = $this->max_width; $file_assoc->height = $this->max_height; PHPWS_Core::initModClass('filecabinet', 'Image.php'); $image = new PHPWS_Image($id); if (!($dst = $image->makeResizePath())) { return false; } if ($cropped) { $resize_file_name = sprintf('%sx%s_crop.%s', $this->max_width, $this->max_height, $image->getExtension()); } else { $resize_file_name = sprintf('%sx%s.%s', $this->max_width, $this->max_height, $image->getExtension()); } if (!$image->resize($dst . $resize_file_name, $this->max_width, $this->max_height, $cropped)) { return false; } $file_assoc->resize =& $resize_file_name; break; case FC_IMAGE_FOLDER: case FC_IMAGE_LIGHTBOX: $file_assoc->vertical = $vertical; $file_assoc->num_visible = $num_visible; break; case FC_MEDIA_RESIZE: $file_assoc->width = $this->max_width; $file_assoc->height = $this->max_height; break; } $file_assoc->save(); $file_assoc->loadSource(); return $file_assoc; }
public function postTN() { PHPWS_Core::initModClass('filecabinet', 'Image.php'); if ($_POST['type'] == 'mm') { PHPWS_Core::initModClass('filecabinet', 'Multimedia.php'); $obj = new PHPWS_Multimedia($_POST['id']); if (!$obj->id) { return false; } } $thumb = PHPWS_Settings::get('filecabinet', 'max_thumbnail_size'); $image = new PHPWS_Image(); $image->setMaxWidth($thumb); $image->setMaxHeight($thumb); if (!$image->importPost('thumbnail')) { return false; } if ($obj->isVideo() && $image->file_type != 'image/jpeg' && $image->file_type != 'image/jpg') { return false; } if (!$obj->embedded) { $image->file_directory = $obj->thumbnailDirectory(); $image->file_name = $obj->dropExtension() . '.' . $image->getExtension(); } else { $image->file_directory = 'files/multimedia/folder' . $obj->folder_id . '/tn/'; } $image->write(); $image->resize($image->file_directory . $image->file_name, $image->getMaxWidth(), $image->getMaxHeight(), true); if ($obj->_classtype == 'multimedia') { $obj->thumbnail = $image->file_name; $obj->save(false, false); } return true; }
public function allowImageType($type) { $image = new PHPWS_Image(); return $image->allowType($type); }
private function saveFile(\Request $request) { switch ($request->getVar('ftype')) { case DOCUMENT_FOLDER: PHPWS_Core::initModClass('filecabinet', 'Document.php'); $doc = new PHPWS_Document($request->getVar('file_id')); $doc->setTitle($request->getVar('title')); $doc->save(false); break; case IMAGE_FOLDER: PHPWS_Core::initModClass('filecabinet', 'Image.php'); $img = new PHPWS_Image($request->getVar('file_id')); $img->setTitle($request->getVar('title')); $img->save(false, false, false); break; case MULTIMEDIA_FOLDER: PHPWS_Core::initModClass('filecabinet', 'Multimedia.php'); $mm = new PHPWS_Multimedia($request->getVar('file_id')); $mm->setTitle($request->getVar('title')); $mm->save(false, false); break; } }
/** * Save * * @author Greg Meiste <*****@*****.**> */ function save() { if (empty($_POST['summary'])) { return dgettext('wiki', 'You need to supply a summary.'); } PHPWS_Core::initModClass('filecabinet', 'Image.php'); $this->setSummary($_POST['summary']); $this->setOwnerId(Current_User::getId()); $this->setCreated(mktime()); $image = new PHPWS_Image(); $image->setDirectory('images/wiki/'); if (!$image->importPost('filename')) { if (isset($image->_errors) && sizeof($image->_errors)) { foreach ($image->_errors as $oError) { $imageErrors[] = $oError->getMessage(); } return implode(' ', $imageErrors); } return dgettext('wiki', 'Please specify a valid file to upload.'); } else { $image->setFilename(str_replace(' ', '_', $image->file_name)); if (is_file(PHPWS_HOME_DIR . 'images/wiki/' . $image->file_name)) { $image->setFilename($this->created . '_' . $image->file_name); } if (PHPWS_Error::logIfError($image->write())) { return dgettext('wiki', 'There was a problem saving your image.'); } $this->setFilename($image->file_name); $this->setSize($image->getSize()); $this->setType($image->file_type); } $db = new PHPWS_DB('wiki_images'); if (PHPWS_Error::logIfError($db->saveObject($this))) { @unlink(PHPWS_HOME_DIR . 'images/wiki/' . $this->getFilename()); return dgettext('wiki', 'There was a problem saving your image.'); } return dgettext('wiki', 'Image Saved!'); }