/**
  * Append the date picker to the widget.
  *
  * @param ManipulateWidgetEvent $event The event.
  *
  * @return void
  */
 public static function addColorPicker(ManipulateWidgetEvent $event)
 {
     $model = $event->getModel();
     if (!$model instanceof Model) {
         return;
     }
     /** @var Model $model */
     $metaModel = $model->getItem()->getMetaModel();
     $property = $event->getProperty()->getName();
     if (!$metaModel->getAttribute($property) instanceof Color) {
         return;
     }
     $environment = $event->getEnvironment();
     $widget = $event->getWidget();
     $imageEvent = new GenerateHtmlEvent('pickcolor.gif', $environment->getTranslator('MSC.colorpicker'), 'style="vertical-align:top;cursor:pointer" id="moo_' . $property . '"');
     $environment->getEventDispatcher()->dispatch(ContaoEvents::IMAGE_GET_HTML, $imageEvent);
     /** @noinspection PhpUndefinedFieldInspection */
     $widget->wizard = $imageEvent->getHtml() . '
         <script>
         new MooRainbow("moo_' . $property . '", {
         id:"ctrl_' . $property . '_0",
         startColor:((cl = $("ctrl_' . $property . '_0").value.hexToRgb(true)) ? cl : [255, 0, 0]),
         imgPath:"plugins/colorpicker/images/",
         onComplete: function(color) {
             $("ctrl_' . $property . '_0").value = color.hex.replace("#", "");
         }
         });
         </script>';
 }
 /**
  * Build the wizard string.
  *
  * @param ManipulateWidgetEvent $event The event.
  *
  * @return void
  */
 public function getWizard(ManipulateWidgetEvent $event)
 {
     if ($event->getModel()->getProviderName() !== $this->metaModel->getTableName() || $event->getProperty()->getName() !== $this->propertyName) {
         return;
     }
     $propName = $event->getProperty()->getName();
     $model = $event->getModel();
     $inputId = $propName;
     $translator = $event->getEnvironment()->getTranslator();
     $this->addStylesheet('metamodelsattribute_pageid', 'system/modules/metamodelsattribute_pageid/html/style.css');
     if (version_compare(VERSION, '3.1', '>=')) {
         $currentField = $model->getProperty($propName);
         /** @var GenerateHtmlEvent $imageEvent */
         $imageEvent = $event->getEnvironment()->getEventDispatcher()->dispatch(ContaoEvents::IMAGE_GET_HTML, new GenerateHtmlEvent('pickpage.gif', $translator->translate('pagepicker', 'MSC'), 'style="vertical-align:top;cursor:pointer"'));
         $event->getWidget()->wizard = ' <a href="contao/page.php?do=' . \Input::get('do') . '&amp;table=' . $this->metaModel->getTableName() . '&amp;field=' . $inputId . '&amp;value=' . $currentField . '" title="' . specialchars($translator->translate('pagepicker', 'MSC')) . '" onclick="Backend.getScrollOffset();Backend.openModalSelector({\'width\':765,\'title\':\'' . specialchars(str_replace("'", "\\'", $translator->translate('page.0', 'MOD'))) . '\',\'url\':this.href,\'id\':\'' . $inputId . '\',\'tag\':\'ctrl_' . $inputId . '\',\'insTagStr\':\'\',\'self\':this});' . 'return false">' . $imageEvent->getHtml() . '</a>';
         //get the page model to get the current title and alias to set it to the category
         // $pageModel = \PageModel::findById($currentField);
         // $model->setProperty('name',$pageModel->title);
         // $model->setProperty('alias',$pageModel->alias);
         // $model->getItem()->save();
         // var_dump(get_class_methods($event));
         return;
     } else {
         throw new Exception("This Attribut requires Contao >= 3.1", 1);
     }
 }
 /**
  * Get the modal page picker for property url.
  *
  * @param ManipulateWidgetEvent $event The event.
  *
  * @return void
  *
  * @SuppressWarnings(PHPMD.LongVariable)
  */
 public function modalPagePickerForPropertyUrl(ManipulateWidgetEvent $event)
 {
     $environment = $event->getEnvironment();
     $property = $event->getProperty();
     if ($environment->getDataDefinition()->getName() !== 'orm_avisota_message_content' || $property->getName() !== 'url') {
         return;
     }
     $inputProvider = $environment->getInputProvider();
     $entity = $event->getModel()->getEntity();
     $translator = $environment->getTranslator();
     $eventDispatcher = $environment->getEventDispatcher();
     $generateImageHtmlEvent = new GenerateHtmlEvent('pickpage.gif', $translator->translate('pagepicker', 'MSC'), 'style="vertical-align:top; cursor:pointer;"');
     $eventDispatcher->dispatch(ContaoEvents::IMAGE_GET_HTML, $generateImageHtmlEvent);
     $urlBuilder = new UrlBuilder();
     $urlBuilder->setPath('contao/page.php')->setQueryParameter('do', $inputProvider->getParameter('do'))->setQueryParameter('table', $inputProvider->getParameter('table'))->setQueryParameter('field', $property->getName())->setQueryParameter('value', '')->setQueryParameter('switch', '1');
     $event->getWidget()->wizard .= ' <a href="' . $urlBuilder->getUrl() . '" title="' . $translator->translate('pagepicker', 'MSC') . '" onclick="Backend.getScrollOffset();Backend.openModalSelector({\'width\':768,\'title\':\'' . str_replace("'", "\\'", $property->getLabel()) . '\',\'url\':this.href,\'id\':\'' . $property->getName() . '\',\'tag\':\'ctrl_' . $property->getName() . ($inputProvider->getParameter('act') === 'editAll' ? '_' . $entity->getId() : '') . '\',\'self\':this});return false">' . $generateImageHtmlEvent->getHtml() . '</a>';
 }
 /**
  * Build the wizard string.
  *
  * @param ManipulateWidgetEvent $event The event.
  *
  * @return void
  */
 public function getWizard(ManipulateWidgetEvent $event)
 {
     if ($event->getModel()->getProviderName() !== $this->metaModel->getTableName() || $event->getProperty()->getName() !== $this->propertyName) {
         return;
     }
     $propName = $event->getProperty()->getName();
     $model = $event->getModel();
     $inputId = $propName . (!$this->metaModel->getAttribute($this->propertyName)->get('trim_title') ? '_1' : '');
     $translator = $event->getEnvironment()->getTranslator();
     $this->addStylesheet('metamodelsattribute_url', 'system/modules/metamodelsattribute_url/html/style.css');
     if (version_compare(VERSION, '3.1', '>=')) {
         $currentField = deserialize($model->getProperty($propName), true);
         /** @var GenerateHtmlEvent $imageEvent */
         $imageEvent = $event->getEnvironment()->getEventDispatcher()->dispatch(ContaoEvents::IMAGE_GET_HTML, new GenerateHtmlEvent('pickpage.gif', $translator->translate('pagepicker', 'MSC'), 'style="vertical-align:top;cursor:pointer"'));
         $event->getWidget()->wizard = ' <a href="contao/page.php?do=' . \Input::get('do') . '&amp;table=' . $this->metaModel->getTableName() . '&amp;field=' . $inputId . '&amp;value=' . str_replace(array('{{link_url::', '}}'), '', $currentField[1]) . '" title="' . specialchars($translator->translate('pagepicker', 'MSC')) . '" onclick="Backend.getScrollOffset();Backend.openModalSelector({\'width\':765,\'title\':\'' . specialchars(str_replace("'", "\\'", $translator->translate('page.0', 'MOD'))) . '\',\'url\':this.href,\'id\':\'' . $inputId . '\',\'tag\':\'ctrl_' . $inputId . '\',\'self\':this});' . 'return false">' . $imageEvent->getHtml() . '</a>';
         return;
     }
     /** @var GenerateHtmlEvent $imageEvent */
     $imageEvent = $event->getEnvironment()->getEventDispatcher()->dispatch(ContaoEvents::IMAGE_GET_HTML, new GenerateHtmlEvent('pickpage.gif', $translator->translate('pagepicker', 'MSC'), 'style="vertical-align:top;cursor:pointer" onclick="Backend.pickPage(\'ctrl_' . $inputId . '\')"'));
     $event->getWidget()->wizard = ' ' . $imageEvent->getHtml();
 }
Beispiel #5
0
 /**
  * Build the wizard string.
  *
  * @param ManipulateWidgetEvent $event The event.
  *
  * @return void
  */
 public function getWizardForTlClass(ManipulateWidgetEvent $event)
 {
     if ($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel_dcasetting' || $event->getProperty()->getName() !== 'tl_class') {
         return;
     }
     $url = 'system/modules/metamodels/popup.php?tbl=%s&fld=%s&inputName=ctrl_%s&id=%s&item=PALETTE_STYLE_PICKER';
     if (version_compare(VERSION, '3.0', '<')) {
         $link = ' <a href="' . $url . '" data-lightbox="files 768 80%%">%s</a>';
     } else {
         $link = ' <a href="javascript:Backend.openModalIframe({url:\'' . $url . '\',width:790,title:\'Stylepicker\'});">%s</a>';
     }
     /** @var GenerateHtmlEvent $imageEvent */
     $imageEvent = $event->getEnvironment()->getEventDispatcher()->dispatch(ContaoEvents::IMAGE_GET_HTML, new GenerateHtmlEvent('system/modules/metamodels/assets/images/icons/dca_wizard.png', $event->getEnvironment()->getTranslator()->translate('stylepicker', 'tl_metamodel_dcasetting'), 'style="vertical-align:top;"'));
     $event->getWidget()->wizard = sprintf($link, $event->getEnvironment()->getDataDefinition()->getName(), $event->getProperty()->getName(), $event->getProperty()->getName(), $event->getModel()->getId(), $imageEvent->getHtml());
 }
Beispiel #6
0
 /**
  * Set the the value select to multiple.
  *
  * @param ManipulateWidgetEvent $event The event.
  *
  * @return void
  */
 public function setValueOptionsMultiple(ManipulateWidgetEvent $event)
 {
     if (!($event->getEnvironment()->getDataDefinition()->getName() == 'tl_metamodel_dcasetting_condition' && $event->getProperty()->getName() == 'value' && $event->getModel()->getProperty('type') == 'conditionpropertycontainanyof')) {
         return;
     }
     $metaModel = $this->getMetaModel($event->getEnvironment());
     $attribute = $metaModel->getAttributeById($event->getModel()->getProperty('attr_id'));
     if (!($attribute && $attribute->get('type') == 'tags')) {
         return;
     }
     $event->getWidget()->multiple = true;
 }
Beispiel #7
0
 /**
  * Calculate the wizard.
  *
  * @param ManipulateWidgetEvent $event The event.
  *
  * @return void
  */
 public function getPanelLayoutWizard(ManipulateWidgetEvent $event)
 {
     if ($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel_dca' || $event->getProperty()->getName() !== 'panelLayout') {
         return;
     }
     $url = 'system/modules/metamodels/popup.php?' . 'tbl=%1$s' . '&fld=%2$s' . '&inputName=ctrl_%3$s' . '&id=%4$s' . '&item=PALETTE_PANEL_PICKER';
     $link = ' <a href="' . $url . '" onclick="Backend.getScrollOffset();Backend.openModalIframe({' . '\'width\':765,' . '\'title\':\'%6$s\',' . '\'url\':this.href,' . '\'id\':\'%4$s\'' . '});return false">%5$s</a>';
     $imageEvent = new GenerateHtmlEvent('system/modules/metamodels/assets/images/icons/panel_layout.png', $event->getEnvironment()->getTranslator()->translate('panelpicker', 'tl_metamodel_dca'), 'style="vertical-align:top;"');
     $event->getEnvironment()->getEventDispatcher()->dispatch(ContaoEvents::IMAGE_GET_HTML, $imageEvent);
     $event->getWidget()->wizard = sprintf($link, $event->getEnvironment()->getDataDefinition()->getName(), $event->getProperty()->getName(), $event->getProperty()->getName(), $event->getModel()->getId(), $imageEvent->getHtml(), addslashes($event->getEnvironment()->getTranslator()->translate('panelpicker', 'tl_metamodel_dca')));
 }