예제 #1
0
 /**
  * Answer a step for all of the the files of the asset
  * 
  * @return object WizardStep
  * @access public
  * @since 10/31/05
  */
 function getRemoteFileRecordsStep()
 {
     $idManager = Services::getService("Id");
     $repository = $this->getRepository();
     $recStructId = $idManager->getId("REMOTE_FILE");
     $recStruct = $repository->getRecordStructure($recStructId);
     $step = new WizardStep();
     $step->setDisplayName($recStruct->getDisplayName());
     ob_start();
     print "\n<h2>" . _("Remote Files") . "</h2>";
     print "\n[[files]]";
     $step->setContent(ob_get_clean());
     $repeatableComponent = $step->addComponent("files", new WRepeatableComponentCollection());
     $repeatableComponent->setStartingNumber(0);
     $repeatableComponent->setAddLabel(_("Add New File"));
     $repeatableComponent->setRemoveLabel(_("Remove File"));
     ob_start();
     $component = $repeatableComponent->addComponent("record_id", new WHiddenField());
     $component = $repeatableComponent->addComponent("file_url", new WTextField());
     $component->setSize(50);
     $vComponent = $repeatableComponent->addComponent("file_name", new WVerifiedChangeInput());
     $vComponent->setChecked(FALSE);
     $component = $vComponent->setInputComponent(new WTextField());
     $vComponent = $repeatableComponent->addComponent("file_size", new WVerifiedChangeInput());
     $vComponent->setChecked(FALSE);
     $component = $vComponent->setInputComponent(new WTextField());
     $vComponent = $repeatableComponent->addComponent("mime_type", new WVerifiedChangeInput());
     $vComponent->setChecked(FALSE);
     $component = $vComponent->setInputComponent(new WTextField());
     // Dimensions
     $dimensionComponent = new WTextField();
     $dimensionComponent->setSize(8);
     $dimensionComponent->setStyle("text-align: right");
     $dimensionComponent->setErrorRule(new WECOptionalRegex("^([0-9]+px)?\$"));
     $dimensionComponent->setErrorText(_("Must be a positive integer followed by 'px'."));
     $dimensionComponent->addOnChange("validateWizard(this.form);");
     $vComponent = $repeatableComponent->addComponent("height", new WVerifiedChangeInput());
     $vComponent->setChecked(FALSE);
     $component = $vComponent->setInputComponent($dimensionComponent->shallowCopy());
     $vComponent = $repeatableComponent->addComponent("width", new WVerifiedChangeInput());
     $vComponent->setChecked(FALSE);
     $component = $vComponent->setInputComponent($dimensionComponent->shallowCopy());
     // Thumnail Upload
     $component = $repeatableComponent->addComponent("thumbnail_upload", new WFileUploadField());
     $vComponent = $repeatableComponent->addComponent("thumbnail_mime_type", new WVerifiedChangeInput());
     $vComponent->setChecked(FALSE);
     $component = $vComponent->setInputComponent(new WTextField());
     // Thumbnail dimensions
     $vComponent = $repeatableComponent->addComponent("thumbnail_height", new WVerifiedChangeInput());
     $vComponent->setChecked(FALSE);
     $component = $vComponent->setInputComponent($dimensionComponent->shallowCopy());
     $vComponent = $repeatableComponent->addComponent("thumbnail_width", new WVerifiedChangeInput());
     $vComponent->setChecked(FALSE);
     $component = $vComponent->setInputComponent($dimensionComponent->shallowCopy());
     print "\n<p>" . _("Url:") . " ";
     print "\n[[file_url]]</p>";
     print "\n<p>";
     print _("By default, the values below will be automatically populated from your uploaded file.");
     print " " . _("If needed, change the properties below to custom values: ");
     print "\n<table border='1'>";
     print "\n<tr>";
     print "\n\t<th>";
     print "\n\t\t" . _("Property") . "";
     print "\n\t</th>";
     print "\n\t<th>";
     print "\n\t\t" . _("Custom Value") . "";
     print "\n\t</th>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("File Name") . "";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[file_name]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("File Size") . "";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[file_size]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("Mime Type") . "";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[mime_type]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("Width") . "";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[width]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("Height") . "";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[height]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("Thumbnail") . "";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n[[thumbnail_upload]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("Thumbnail Mime Type") . "";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[thumbnail_mime_type]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("Thumbnail Width") . "";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[thumbnail_width]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("Thumbnail Height") . "";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[thumbnail_height]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n</table>";
     print "\n</p>";
     $repeatableComponent->setContent(ob_get_contents());
     ob_end_clean();
     $records = $this->_assets[0]->getRecordsByRecordStructure($recStructId);
     while ($records->hasNext()) {
         $record = $records->next();
         $partIterator = $record->getParts();
         $parts = array();
         while ($partIterator->hasNext()) {
             $part = $partIterator->next();
             $partStructure = $part->getPartStructure();
             $partStructureId = $partStructure->getId();
             $parts[$partStructureId->getIdString()] = $part;
         }
         $collection = array();
         $recordId = $record->getId();
         $collection['record_id'] = $recordId->getIdString();
         $collection['file_url'] = $parts['FILE_URL']->getValue();
         $collection['file_name'] = $parts['FILE_NAME']->getValue();
         $size = ByteSize::withValue($parts['FILE_SIZE']->getValue());
         $collection['file_size'] = $size->asString();
         $collection['mime_type'] = $parts['MIME_TYPE']->getValue();
         $dim = $parts['DIMENSIONS']->getValue();
         if ($dim[1]) {
             $collection['height'] = $dim[1] . 'px';
         }
         if ($dim[0]) {
             $collection['width'] = $dim[0] . 'px';
         }
         $collection['thumbnail_upload'] = array("starting_name" => "thumb.jpg", "starting_size" => strlen($parts['THUMBNAIL_DATA']->getValue()));
         $collection['thumbnail_mime_type'] = $parts['THUMBNAIL_MIME_TYPE']->getValue();
         $thumDim = $parts['THUMBNAIL_DIMENSIONS']->getValue();
         if ($thumDim[1]) {
             $collection['thumbnail_height'] = $thumDim[1] . 'px';
         }
         if ($thumDim[0]) {
             $collection['thumbnail_width'] = $thumDim[0] . 'px';
         }
         $repeatableComponent->addValueCollection($collection);
     }
     return $step;
 }
 /**
  * Create wizard steps for editing the values of the specified Record and
  * add them to the wizard.
  * 
  * @param object $record
  * @param object $wizard The wizard to add the steps to.
  * @return void
  * @access public
  * @since 10/19/04
  */
 function createWizardSteps(Record $record, Wizard $wizard)
 {
     $recordStructure = $record->getRecordStructure();
     // Get all the parts
     $partIterator = $record->getParts();
     $parts = array();
     while ($partIterator->hasNext()) {
         $part = $partIterator->next();
         $partStructure = $part->getPartStructure();
         $partStructureId = $partStructure->getId();
         $parts[$partStructureId->getIdString()] = $part;
     }
     $step = $wizard->addStep("record", new WizardStep());
     $step->setDisplayName($recordStructure->getDisplayName());
     ob_start();
     $component = $step->addComponent("file_upload", new WFileUploadField());
     print "\n<em>" . _("Upload a new file or change file properties.") . "</em>\n<hr />";
     print "\n<br /><strong>";
     if ($parts['FILE_NAME']->getValue()) {
         print _("New file (optional)");
     } else {
         print _("File");
     }
     print ":</strong>";
     print "\n[[file_upload]]";
     $component = $step->addComponent("file_name", new WTextField());
     $component->setValue($parts['FILE_NAME']->getValue());
     $component = $step->addComponent("use_custom_filename", new WCheckBox());
     $component->setValue(false);
     $component = $step->addComponent("file_size", new WTextField());
     $size = ByteSize::withValue($parts['FILE_SIZE']->getValue());
     $component->setValue($size->asString());
     $component->setEnabled(FALSE, TRUE);
     //
     // 		$component =$step->addComponent("size_from_file", new WCheckBox());
     // 		$component->setValue(false);
     $component = $step->addComponent("mime_type", new WTextField());
     $component->setValue($parts['MIME_TYPE']->getValue());
     $component = $step->addComponent("use_custom_type", new WCheckBox());
     $component->setValue(false);
     // Dimensions
     $dimensionComponent = new WTextField();
     $dimensionComponent->setSize(8);
     $dimensionComponent->setStyle("text-align: right");
     $dimensionComponent->setErrorRule(new WECRegex("^([0-9]+px)?\$"));
     $dimensionComponent->setErrorText(_("Must be a positive integer followed by 'px'."));
     $dimensionComponent->addOnChange("validateWizard(this.form);");
     $dim = $parts['DIMENSIONS']->getValue();
     $component = $step->addComponent("height", $dimensionComponent->shallowCopy());
     if ($dim[1]) {
         $component->setValue($dim[1] . 'px');
     }
     $component = $step->addComponent("use_custom_height", new WCheckBox());
     $component->setValue(false);
     $component = $step->addComponent("width", $dimensionComponent->shallowCopy());
     if ($dim[0]) {
         $component->setValue($dim[0] . 'px');
     }
     $component = $step->addComponent("use_custom_width", new WCheckBox());
     $component->setValue(false);
     // Thumnail Upload
     $component = $step->addComponent("thumbnail_upload", new WFileUploadField());
     $component = $step->addComponent("thumbnail_mime_type", new WTextField());
     $component->setValue($parts['THUMBNAIL_MIME_TYPE']->getValue());
     $component = $step->addComponent("use_custom_thumbnail_type", new WCheckBox());
     $component->setValue(false);
     // Thumbnail dimensions
     $thumDim = $parts['THUMBNAIL_DIMENSIONS']->getValue();
     $component = $step->addComponent("thumbnail_height", $dimensionComponent->shallowCopy());
     if ($thumDim[1]) {
         $component->setValue($thumDim[1] . 'px');
     }
     $component = $step->addComponent("use_custom_thumbnail_height", new WCheckBox());
     $component->setValue(false);
     $component = $step->addComponent("thumbnail_width", $dimensionComponent->shallowCopy());
     if ($thumDim[0]) {
         $component->setValue($thumDim[0] . 'px');
     }
     $component = $step->addComponent("use_custom_thumbnail_width", new WCheckBox());
     $component->setValue(false);
     print "\n<p>" . _("Change properties of the uploaded file to custom values:");
     print "\n<table border='1'>";
     print "\n<tr>";
     print "\n\t<th>";
     print "\n\t\t" . _("Property") . "";
     print "\n\t</th>";
     print "\n\t<th>";
     print "\n\t\t" . _("Use Custom Value") . "";
     print "\n\t</th>";
     print "\n\t<th>";
     print "\n\t\t" . _("Custom Value") . "";
     print "\n\t</th>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("File Name") . "";
     print "\n\t</td>";
     print "\n\t<td align='center'>";
     print "\n\t\t[[use_custom_filename]]";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[file_name]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("File Size") . "";
     print "\n\t</td>";
     print "\n\t<td align='center'>";
     // 		print "\n\t\t[[size_from_file]]";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[file_size]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("Mime Type") . "";
     print "\n\t</td>";
     print "\n\t<td align='center'>";
     print "\n\t\t[[use_custom_type]]";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[mime_type]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("Width") . "";
     print "\n\t</td>";
     print "\n\t<td align='center'>";
     print "\n\t\t[[use_custom_width]]";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[width]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("Height") . "";
     print "\n\t</td>";
     print "\n\t<td align='center'>";
     print "\n\t\t[[use_custom_height]]";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[height]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("Thumbnail") . "";
     print "\n\t</td>";
     print "\n\t<td align='center'>";
     print "\n\t\t &nbsp; ";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n[[thumbnail_upload]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("Thumbnail Mime Type") . "";
     print "\n\t</td>";
     print "\n\t<td align='center'>";
     print "\n\t\t[[use_custom_thumbnail_type]]";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[thumbnail_mime_type]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("Thumbnail Width") . "";
     print "\n\t</td>";
     print "\n\t<td align='center'>";
     print "\n\t\t[[use_custom_thumbnail_width]]";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[thumbnail_width]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n<tr>";
     print "\n\t<td>";
     print "\n\t\t" . _("Thumbnail Height") . "";
     print "\n\t</td>";
     print "\n\t<td align='center'>";
     print "\n\t\t[[use_custom_thumbnail_height]]";
     print "\n\t</td>";
     print "\n\t<td>";
     print "\n\t\t[[thumbnail_height]]";
     print "\n\t</td>";
     print "\n</tr>";
     print "\n</table>";
     print "\n</p>";
     $step->setContent(ob_get_contents());
     ob_end_clean();
 }