コード例 #1
0
ファイル: ezpackage.php プロジェクト: jordanmanning/ezpublish
 function appendDocument($name, $mimeType = false, $os = false, $audience = false, $create = false, $data = false)
 {
     if (!$mimeType) {
         $mimeType = 'text/plain';
     }
     $this->Parameters['documents'][] = array('name' => $name, 'mime-type' => $mimeType, 'os' => $os, 'data' => $data, 'audience' => $audience);
     if ($create) {
         eZFile::create($name, $this->path() . '/' . eZPackage::documentDirectory(), $data);
     }
 }
コード例 #2
0
 function modify($tpl, $operatorName, $operatorParameters, $rootNamespace, $currentNamespace, &$operatorValue, $namedParameters, $placement)
 {
     $package = $operatorValue;
     $class = $namedParameters['class'];
     switch ($class) {
         case 'thumbnail':
             if ($operatorValue instanceof eZPackage) {
                 if (!is_array($fileList = $operatorValue->fileList('default'))) {
                     $fileList = array();
                 }
                 foreach ($fileList as $file) {
                     $fileType = $file["type"];
                     if ($fileType == 'thumbnail') {
                         $operatorValue = $operatorValue->fileItemPath($file, 'default');
                         return;
                     }
                 }
                 $operatorValue = false;
             }
             break;
         case 'filepath':
             if ($operatorValue instanceof eZPackage) {
                 $variableName = $namedParameters['data'];
                 $fileList = $operatorValue->fileList('default');
                 foreach ($fileList as $file) {
                     $fileIdentifier = $file["variable-name"];
                     if ($fileIdentifier == $variableName) {
                         $operatorValue = $operatorValue->fileItemPath($file, 'default');
                         return;
                     }
                 }
                 $tpl->error($operatorName, "No filepath found for variable {$variableName} in package " . $package->attribute('name'));
                 $operatorValue = false;
             }
             break;
         case 'fileitempath':
             if ($operatorValue instanceof eZPackage) {
                 $fileItem = $namedParameters['data'];
                 $operatorValue = $operatorValue->fileItemPath($fileItem, 'default');
             }
             break;
         case 'documentpath':
             if ($package instanceof eZPackage) {
                 $documentName = $namedParameters['data'];
                 $documentList = $package->attribute('documents');
                 foreach (array_keys($documentList) as $key) {
                     $document =& $documentList[$key];
                     $name = $document["name"];
                     if ($name == $documentName) {
                         $documentFilePath = $package->path() . '/' . eZPackage::documentDirectory() . '/' . $document['name'];
                         $operatorValue = $documentFilePath;
                         return;
                     }
                 }
                 $tpl->error($operatorName, "No documentpath found for document {$documentName} in package " . $package->attribute('name'));
                 $operatorValue = false;
             }
             break;
         case 'dirpath':
             $dirPath = $operatorValue->currentRepositoryPath() . "/" . $operatorValue->attribute('name');
             $operatorValue = $dirPath;
             break;
         default:
             $tpl->error($operatorName, "Unknown package operator name: '{$class}'");
             break;
     }
 }