Exemplo n.º 1
0
/**
 * @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();
    }
}
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
 public function allowImageType($type)
 {
     $image = new PHPWS_Image();
     return $image->allowType($type);
 }
Exemplo n.º 5
0
 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;
     }
 }
Exemplo n.º 6
0
 /**
  * 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!');
 }