コード例 #1
0
 function save()
 {
     if (!igGeneralHelper::authorise('core.admin')) {
         return JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
     }
     $app = JFactory::getApplication();
     $data = JRequest::getVar('jform', array(), 'post', 'NONE', 4);
     $id = (int) $data['id'];
     if (empty($id[0])) {
         if (!igGeneralHelper::authorise('core.create')) {
             return JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
         }
     } else {
         if (!igGeneralHelper::authorise('core.edit')) {
             return JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
         }
     }
     if (strlen($_FILES['jform']['name']['watermark_filename']) > 2) {
         $fileName = $_FILES['jform']['name']['watermark_filename'];
         $tmpPath = $_FILES['jform']['tmp_name']['watermark_filename'];
         $uploadError = $_FILES['jform']['error']['watermark_filename'];
         if (!($uploadedFile = igUploadHelper::upload_file($fileName, $tmpPath, $uploadError, IG_WATERMARK_PATH, true))) {
             return false;
         }
         $data['watermark_filename'] = $uploadedFile;
     }
     $model = $this->getModel();
     $form = $model->getForm($data, false);
     if (!$form) {
         $app->enqueueMessage($model->getError(), 'error');
         return false;
     }
     $validData = $model->validate($form, $data);
     if ($validData === false) {
         $errors = $model->getErrors();
         for ($i = 0, $n = count($errors); $i < $n && $i < 3; $i++) {
             if (JError::isError($errors[$i])) {
                 $app->enqueueMessage($errors[$i]->getMessage(), 'warning');
             } else {
                 $app->enqueueMessage($errors[$i], 'warning');
             }
         }
         $this->setRedirect('index.php?option=com_igallery&view=profile&id=' . $id, false);
         return false;
     }
     if (!$model->save($validData)) {
         JError::raise(2, 500, $model->getError());
         $msg = '';
     } else {
         $msg = JText::_('SUCCESSFULLY_SAVED');
     }
     switch ($this->task) {
         case 'apply':
             $url = 'index.php?option=com_igallery&view=profile&id=' . $id;
             break;
         case 'save':
             $url = 'index.php?option=com_igallery&view=profiles';
     }
     $this->setRedirect($url, $msg);
 }
コード例 #2
0
 static function processUploadedImage($fileName, $tmpPath, $uploadError, $tableName, $refresh)
 {
     if (!($uploadedFile = igUploadHelper::upload_file($fileName, $tmpPath, $uploadError, IG_TEMP_PATH, $refresh))) {
         return false;
     }
     $params = JComponentHelper::getParams('com_igallery');
     //get the folder path
     $increment = igFileHelper::getFileIncrement($tableName);
     $folderName = igFileHelper::getFolderName($increment);
     igFileHelper::makeFolder(IG_ORIG_PATH . '/' . $folderName);
     $destFolderPath = IG_ORIG_PATH . '/' . $folderName;
     //make the filename
     $destFile = igFileHelper::addIncrement($uploadedFile, $increment);
     $destFile = igFileHelper::checkUniqueName($destFolderPath, $destFile);
     //make the folder paths
     $sourcePath = IG_TEMP_PATH . '/' . $uploadedFile;
     $destPath = $destFolderPath . '/' . $destFile;
     $imageinfo = getimagesize($sourcePath);
     $maxServerWidth = $params->get('server_max_width', 2100);
     $maxServerHeight = $params->get('server_max_height', 1600);
     if ($imageinfo[0] > $maxServerWidth || $imageinfo[1] > $maxServerHeight) {
         if (!igFileHelper::makeImage($sourcePath, $destPath, $maxServerWidth, $maxServerHeight, 95, $refresh)) {
             return false;
         }
     } else {
         if (!JFile::copy($sourcePath, $destPath)) {
             igFileHelper::raiseError($sourcePath . ' -> ' . $destPath . ' ' . JText::_('Error Moving File To Directory'), $refresh);
             return false;
         }
     }
     $fileData = array();
     $fileData['filename'] = $destFile;
     if ($params->get('import_exif_data', 0) == 1) {
         $fileData['exif_des'] = igFileHelper::getExifData($sourcePath);
     }
     if ($params->get('import_iptc_data', 0) == 1) {
         $fileData['iptc_des'] = igFileHelper::getIptcData($sourcePath);
     }
     if ($params->get('import_iptc_tags', 0) == 1) {
         $fileData['iptc_tags'] = igFileHelper::getIptcTags($sourcePath);
     }
     if (JFile::exists($sourcePath)) {
         JFile::delete($sourcePath);
     }
     return $fileData;
 }