Example #1
0
 /**
  * {@inheritDoc}
  */
 public function form(PhpRenderer $view, array $options = [])
 {
     $urlInput = new UrlElement('o:media[__index__][o:source]');
     $urlInput->setOptions(['label' => $view->translate('oEmbed URL'), 'info' => $view->translate('URL for the media to embed.')]);
     $urlInput->setAttributes(['id' => 'media-oembed-source-__index__', 'required' => true]);
     return $view->formRow($urlInput);
 }
Example #2
0
 /**
  * {@inheritDoc}
  */
 public function form(PhpRenderer $view, array $options = [])
 {
     $urlInput = new UrlElement('o:media[__index__][ingest_url]');
     $urlInput->setOptions(['label' => $view->translate('URL'), 'info' => $view->translate('A URL to the media.')]);
     $urlInput->setAttributes(['id' => 'media-url-ingest-url-__index__', 'required' => true]);
     return $view->formRow($urlInput);
 }
Example #3
0
 /**
  * Get the HTML editor textarea markup.
  *
  * @param PhpRenderer $view
  * @param string $id HTML ID for the textarea
  * @param string $value Value to pre-fill
  *
  * @return string
  */
 protected function getForm(PhpRenderer $view, $id, $value = '')
 {
     $view->ckEditor();
     $textarea = new Textarea('o:media[__index__][html]');
     $textarea->setOptions(['label' => $view->translate('HTML'), 'info' => $view->translate('HTML or plain text.')]);
     $textarea->setAttributes(['rows' => 15, 'id' => $id, 'required' => true, 'class' => 'media-html', 'value' => $value]);
     $field = $view->formRow($textarea);
     $field .= "\n            <script type='text/javascript'>\n                \$('#{$id}').ckeditor();\n            </script>\n        ";
     return $field;
 }
Example #4
0
 public function form(PhpRenderer $view, SiteRepresentation $site, SitePageBlockRepresentation $block = null)
 {
     $text = new Text("o:block[__blockIndex__][o:data][query]");
     if ($block) {
         $text->setAttribute('value', $this->getData($block->data(), 'query'));
     }
     $html = '<div class="field"><div class="field-meta">';
     $html .= '<label>' . $view->translate('Query') . '</label>';
     $html .= '<div class="field-description">' . $view->translate('Display resources using this search query') . '</div>';
     $html .= '</div>';
     $html .= '<div class="inputs">' . $view->formRow($text) . '</div></div>';
     return $html;
 }
Example #5
0
 /**
  * {@inheritDoc}
  */
 public function form(PhpRenderer $view, array $options = [])
 {
     $fileInput = new File('file[__index__]');
     $fileInput->setOptions(['label' => $view->translate('Upload File')]);
     $fileInput->setAttributes(['id' => 'media-file-input-__index__']);
     $field = $view->formRow($fileInput);
     return $field . '<input type="hidden" name="o:media[__index__][file_index]" value="__index__">';
 }
Example #6
0
 /**
  * @see \Auth\Dependency\ListInterface::getItems()
  */
 public function getItems(User $user, View $view, $limit)
 {
     $items = [];
     foreach ($this->repository->getUserJobs($user->getId(), $limit) as $job) {
         $title = $job->getTitle() ?: $view->translate('untitled');
         $title .= ' (' . $view->dateFormat($job->getDateCreated(), 'short', 'none') . ')';
         $url = $view->url('lang/jobs/manage', ['action' => 'edit'], ['query' => ['id' => $job->getId()]]);
         $items[] = new ListItem($title, $url);
     }
     return $items;
 }
Example #7
0
 /**
  * {@inheritDoc}
  */
 public function form(PhpRenderer $view, array $options = [])
 {
     $urlInput = new UrlElement('o:media[__index__][o:source]');
     $urlInput->setOptions(['label' => $view->translate('Video URL'), 'info' => $view->translate('URL for the video to embed.')]);
     $urlInput->setAttributes(['id' => 'media-youtube-source-__index__', 'required' => true]);
     $urlInput->setAttributes(['id' => 'media-youtube-source-__index__', 'required' => true]);
     $startInput = new Text('o:media[__index__][start]');
     $startInput->setOptions(['label' => $view->translate('Start'), 'info' => $view->translate('Begin playing the video at the given number of seconds from the start of the video.')]);
     $endInput = new Text('o:media[__index__][end]');
     $endInput->setOptions(['label' => $view->translate('End'), 'info' => $view->translate('End playing the video at the given number of seconds from the start of the video.')]);
     return $view->formRow($urlInput) . $view->formRow($startInput) . $view->formRow($endInput);
 }
Example #8
0
 /**
  * Render all elements from a fieldset
  *
  * This method iterates over all elements from the given fieldset and
  * renders them in a way appropriate for each element type. Subclasses with
  * more specialized rendering may extend or replace this method.
  *
  * @param \Zend\View\Renderer\PhpRenderer $view
  * @param \Zend\Form\Fieldset $fieldset
  * @return string HTML code
  */
 public function renderFieldset(\Zend\View\Renderer\PhpRenderer $view, \Zend\Form\Fieldset $fieldset)
 {
     $output = '<div class="table">';
     foreach ($fieldset as $element) {
         $row = '';
         if ($element instanceof \Zend\Form\Element\Submit) {
             $row .= "<span class='cell'></span>\n";
             $row .= $view->formSubmit($element);
         } elseif ($element instanceof \Zend\Form\Fieldset) {
             $row .= $view->htmlTag('span', $view->translate($element->getLabel()), array('class' => 'label'), true) . "\n";
             $row .= $view->htmlTag('fieldset', "<legend></legend>\n" . $this->renderFieldset($view, $element));
         } elseif (!$element instanceof \Zend\Form\Element\Csrf) {
             $row .= $view->formRow($element, 'prepend', false);
             if ((string) $element->getLabel() == '') {
                 $row = "<div class='row'>\n<span class='label'></span>\n{$row}\n</div>";
             }
             if ($element->getMessages()) {
                 $row .= "\n<span class='cell'></span>\n";
                 $row .= $view->formElementErrors($element, array('class' => 'errors'));
             }
             if ($element->hasAttribute('id')) {
                 // The FormRow helper renders the label differently: It
                 // precedes the element instead of encapsulating it.
                 // Add a div wrapper to achieve the same appearance.
                 $row = "<div class='row'>\n{$row}\n</div>";
             }
         }
         $output .= $row . "\n";
     }
     $output .= "</div>\n";
     return $output;
 }
Example #9
0
    /** {@inheritdoc} */
    public function render(\Zend\View\Renderer\PhpRenderer $view)
    {
        $commandLine = $view->translate('Command line');
        $labels = array('launch' => $commandLine, 'execute' => $commandLine, 'store' => $view->translate('Target Path'));
        $labels = '    var actionParamLabels = ' . json_encode($labels) . ";\n";
        $view->headScript()->captureStart();
        print $labels;
        ?>

        /**
         * Hide or display a block element.
         */
        function display(name, display)
        {
            document.getElementsByName(name)[0].parentNode.style.display = display ? 'table-row' : 'none';
        }

        /*
         * Event handler for Platform combobox. Also called for form
         * initialization. Hides/displays notification elements which have no
         * effect on non-Windows platforms.
         */
        function changePlatform()
        {
            if (document.getElementById('form_package_build_platform').value == 'windows') {
                display('Warn', true);
                display('PostInstMessage', true);
                toggleWarn();
            } else {
                display('Warn', false);
                display('WarnMessage', false);
                display('WarnCountdown', false);
                display('WarnAllowAbort', false);
                display('WarnAllowDelay', false);
                display('PostInstMessage', false);
            }
        }

        /*
         * Event handler for Action combobox. Also called for form initialization.
         * Changes label of parameter input field according to selected action.
         */
        function changeParam()
        {
            var label = actionParamLabels[document.getElementsByName('DeployAction')[0].value];
            document.getElementsByName('ActionParam')[0].parentNode.getElementsByTagName('span')[0].innerHTML = label;
        }

        /*
         * Event handler for Warn checkbox. Also called for form initialization.
         * Hides or displays Warn* fields according to checked state.
         */
        function toggleWarn()
        {
            var checked = document.getElementById('form_package_build_warn').checked &&
                          document.getElementById('form_package_build_platform').value == 'windows';
            display('WarnMessage', checked);
            display('WarnCountdown', checked);
            display('WarnAllowAbort', checked);
            display('WarnAllowDelay', checked);
        }

        <?php 
        $view->headScript()->captureEnd();
        $view->placeholder('BodyOnLoad')->append('changePlatform()');
        $view->placeholder('BodyOnLoad')->append('changeParam()');
        $view->placeholder('BodyOnLoad')->append('toggleWarn()');
        $view->placeholder('BodyOnLoad')->append('document.getElementsByName("Name")[0].focus()');
        return parent::render($view);
    }
Example #10
0
 /** {@inheritdoc} */
 public function renderFieldset(\Zend\View\Renderer\PhpRenderer $view, \Zend\Form\Fieldset $fieldset)
 {
     $name = $fieldset->getName();
     if ($name) {
         $default = $view->translate('Default');
         $effective = $view->translate('Effective');
         $yes = $view->translate('Yes');
         $no = $view->translate('No');
         switch ($name) {
             case 'Agent':
                 $legend = $view->translate('Agent');
                 break;
             case 'Download':
                 $legend = $view->translate('Download');
                 break;
             case 'Scan':
                 $legend = $view->translate('Network scanning');
                 break;
         }
         $output = "<div class='table'>\n";
         foreach ($fieldset as $element) {
             if ($element->getAttribute('disabled')) {
                 continue;
             }
             preg_match('/.*\\[(.*)\\]$/', $element->getName(), $matches);
             $option = $matches[1];
             if ($option == 'scanThisNetwork') {
                 $row = '';
             } else {
                 $defaultValue = $this->_object->getDefaultConfig($option);
                 if ($element instanceof Element\Checkbox) {
                     $defaultValue = $defaultValue ? $yes : $no;
                 }
                 $row = sprintf('%s: %s', $default, $defaultValue);
                 if ($this->_object instanceof \Model\Client\Client) {
                     $effectiveValue = $this->_object->getEffectiveConfig($option);
                     if ($element instanceof Element\Checkbox) {
                         $effectiveValue = $effectiveValue ? $yes : $no;
                     }
                     $row .= sprintf(', %s: %s', $effective, $effectiveValue);
                 }
                 $row = $view->escapeHtml("({$row})");
             }
             if ($element->getMessages()) {
                 $element->setAttribute('class', 'input-error');
             }
             $row = $view->htmlElement('span', $view->formElement($element) . $row, array('class' => 'values'));
             $row = $view->htmlElement('span', $view->translate($element->getLabel()), array('class' => 'label')) . $row;
             $output .= $view->htmlElement('label', $row);
             if ($element->getMessages()) {
                 $output .= $view->htmlElement('span', null, array('class' => 'cell'));
                 $output .= $view->formElementErrors($element, array('class' => 'error'));
             }
         }
         $output .= "</div>\n";
         $output = $view->htmlElement('fieldset', $view->htmlElement('legend', $legend) . $output);
     } else {
         $output = "<div class='table'>\n";
         foreach ($fieldset as $element) {
             if ($element instanceof \Zend\Form\Fieldset) {
                 $output .= $this->renderFieldset($view, $element);
             }
         }
         $output .= $view->formRow($fieldset->get('Submit'));
         $output .= "</div>\n";
     }
     return $output;
 }
 /** {@inheritdoc} */
 public function renderFieldset(\Zend\View\Renderer\PhpRenderer $view, \Zend\Form\Fieldset $fieldset = null)
 {
     $output = '';
     $name = $fieldset->getName();
     switch ($name) {
         case 'inspect':
             $output .= "<div class='textcenter'>\n";
             $output .= $view->formRow($fieldset->get('inspect'), 'append') . "\n";
             $output .= "</div>\n";
             break;
         case 'existing':
             $table = '';
             foreach ($this->_definedValues as $value) {
                 $id = $value['Id'];
                 $element = $fieldset->get("value_{$id}_name");
                 $row = $view->htmlElement('td', $view->formElement($element) . $view->formElementErrors($element, array('class' => 'errors')));
                 $row .= $view->htmlElement('td', $view->escapeHtml($element->getLabel()));
                 $row .= $view->htmlElement('td', $view->htmlElement('a', $view->translate('Delete'), array('href' => $view->consoleUrl('preferences', 'deleteregistryvalue', array('name' => $value['Name'])))));
                 $table .= $view->htmlElement('tr', $row);
             }
             $output .= $view->htmlElement('table', $table);
             break;
         case 'new_value':
             $output .= parent::renderFieldset($view, $fieldset);
             break;
         default:
             if ($fieldset == $this) {
                 $output .= $this->renderFieldset($view, $fieldset->get('inspect'));
                 if (count($this->_definedValues)) {
                     $output .= $view->htmlElement('h2', $view->translate('Values'));
                     $output .= $this->renderFieldset($view, $fieldset->get('existing'));
                 }
                 $output .= $view->htmlElement('h2', $view->translate('Add'));
                 $output .= $this->renderFieldset($view, $fieldset->get('new_value'));
             }
             break;
     }
     return $output;
 }
Example #12
0
 /** {@inheritdoc} */
 public function renderFieldset(\Zend\View\Renderer\PhpRenderer $view, \Zend\Form\Fieldset $fieldset)
 {
     $headers = array('Id' => 'ID', 'Name' => $view->translate('Name'), 'NetworkInterface.MacAddress' => $view->translate('MAC address'), 'Serial' => $view->translate('Serial number'), 'AssetTag' => $view->translate('Asset tag'), 'LastContactDate' => $view->translate('Last contact'));
     $renderCriteria = function ($view, $client, $property) {
         $value = $client[$property];
         if ($value === null) {
             // NULL values are never considered for duplicates and cannot be blacklisted.
             return;
         }
         if ($property == 'NetworkInterface.MacAddress') {
             $property = 'MacAddress';
         }
         // Hyperlink to blacklist form
         return $view->htmlElement('a', $view->escapeHtml($value), array('href' => $view->consoleUrl('duplicates', 'allow', array('criteria' => $property, 'value' => $value))), true);
     };
     $renderCallbacks = array('Id' => function ($view, $client) {
         // Display ID and a checkbox. Render checkbox manually because
         // ZF's MultiCheckbox element does not handle duplicate values.
         // $_POST['clients'] will become an array of selected
         // (possibly duplicate) IDs.
         return sprintf('<input type="checkbox" name="clients[]" value="%d">%d', $client['Id'], $client['Id']);
     }, 'Name' => function ($view, $client) {
         // Hyperlink to "customfields" page of given client.
         // This allows for easy review of the information about to be merged.
         return $view->htmlElement('a', $view->escapeHtml($client['Name']), array('href' => $view->consoleUrl('client', 'customfields', array('id' => $client['Id']))), true);
     }, 'NetworkInterface.MacAddress' => $renderCriteria, 'Serial' => $renderCriteria, 'AssetTag' => $renderCriteria);
     $formContent = $view->table($this->getOption('clients'), $headers, array('order' => $this->getOption('order'), 'direction' => $this->getOption('direction')), $renderCallbacks);
     $formContent .= "<div>\n";
     foreach ($this as $element) {
         $formContent .= $view->formRow($element, 'append') . "\n";
     }
     $formContent .= "</div>\n";
     return $formContent;
 }
Example #13
0
 /** {@inheritdoc} */
 public function renderFieldset(\Zend\View\Renderer\PhpRenderer $view, \Zend\Form\Fieldset $fieldset)
 {
     if ($fieldset->getName() == 'Fields') {
         // Labels (except "Category") are user defined and must not be translated.
         $fieldset->get('TAG')->setLabel($view->translate('Category'));
         $formRow = $view->plugin('FormRow');
         $translatorEnabled = $formRow->isTranslatorEnabled();
         $formRow->setTranslatorEnabled(false);
         $output = parent::renderFieldset($view, $fieldset);
         $formRow->setTranslatorEnabled($translatorEnabled);
     } else {
         $output = $this->renderFieldset($view, $this->get('Fields'));
         $output .= "<div class='table'>\n";
         $output .= "<span class='cell'></span>\n";
         $output .= $view->formSubmit($fieldset->get('Submit')) . "\n";
         $output .= "</div>\n";
     }
     return $output;
 }
Example #14
0
 /** {@inheritdoc} */
 public function renderFieldset(\Zend\View\Renderer\PhpRenderer $view, \Zend\Form\Fieldset $fieldset = null)
 {
     $output = "<div class='table'>\n";
     $fields = $this->get('Fields');
     foreach ($this->_definedFields as $name => $type) {
         $element = $fields->get($name);
         if ($element->getMessages()) {
             $element->setAttribute('class', 'input-error');
         }
         $row = $view->formText($element) . "\n";
         $row .= $view->htmlTag('span', $view->translate($type), array('class' => 'cell'));
         $row .= $view->htmlTag('span', $view->htmlTag('a', $view->translate('Delete'), array('href' => $view->consoleUrl('preferences', 'deletefield', array('name' => $name))), true), array('class' => 'cell'));
         $output .= $view->htmlTag('div', $row, array('class' => 'row'));
         $output .= $view->formElementErrors($element, array('class' => 'error'));
         $output .= "\n";
     }
     $newName = $this->get('NewName');
     $output .= $view->htmlTag('div', $view->formRow($newName, null, false) . $view->formRow($this->get('NewType')), array('class' => 'row'));
     $output .= $view->formElementErrors($newName, array('class' => 'error'));
     $output .= $view->formRow($this->get('Submit'));
     $output .= "\n</div>\n";
     return $output;
 }
Example #15
0
 public function form(PhpRenderer $view, array $options = [])
 {
     $urlInput = new UrlElement('o:media[__index__][o:source]');
     $urlInput->setOptions(['label' => $view->translate('IIIF Image URL'), 'info' => $view->translate('URL for the image to embed.')]);
     return $view->formRow($urlInput);
 }
 /** {@inheritdoc} */
 public function renderFieldset(\Zend\View\Renderer\PhpRenderer $view, \Zend\Form\Fieldset $fieldset = null)
 {
     $output = "<div class='table'>\n";
     $types = $this->get('Types');
     foreach ($this->_definedTypes as $name => $count) {
         $element = $types->get($name);
         if ($element->getMessages()) {
             $element->setAttribute('class', 'input-error');
         }
         $row = $view->formText($element);
         if ($count == 0) {
             $row .= $view->htmlElement('a', $view->translate('Delete'), array('href' => $view->consoleUrl('preferences', 'deletedevicetype', array('name' => $name))), true);
         }
         $output .= $view->htmlElement('div', $row);
         $output .= $view->formElementErrors($element, array('class' => 'error'));
         $output .= "\n";
     }
     $add = $this->get('Add');
     $output .= $view->formRow($add, null, false);
     $output .= $view->formElementErrors($add, array('class' => 'error'));
     $output .= $view->formRow($this->get('Submit'));
     $output .= "\n</div>\n";
     return $output;
 }