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); } }
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; } }