/** {@inheritdoc} */ public function showMain() { $modules = array(); foreach (AbstractModule::getModuleList() as $className) { $parts = explode("_", str_replace("_Module_", "_", $className)); $package = array_shift($parts); $modules[$package][$className] = join(" / ", $parts); } $templates = array('' => "[ None ]") + Curry_Backend_Template::getTemplateSelect(); $form = new Curry_Form_ModelForm('Module', array('columnElements' => array('module_class' => array('select', array('multiOptions' => $modules)), 'content_visibility' => array('select', array('multiOptions' => PageModulePeer::$contentVisiblityOptions)), 'template' => array('select', array('multiOptions' => $templates))))); $list = new Curry_ModelView_List('Module', array('modelForm' => $form)); $this->addMainContent($list); }
public function initialize() { $modules = array(); foreach (AbstractModule::getModuleList() as $className) { $parts = explode(" ", str_replace(" Module ", " ", strtr($className, "\\_", ' '))); $package = array_shift($parts); if (!$package) { $package = 'Other'; } $modules[$package][$className] = join(" / ", $parts); } $templates = array('' => "[ None ]") + \Curry_Backend_Template::getTemplateSelect(); $form = new ModelForm('Module', array('columnFields' => array('module_class' => array('type' => 'choice', 'choices' => $modules), 'content_visibility' => array('type' => 'choice', 'choices' => \PageModulePeer::$contentVisiblityOptions), 'template' => array('type' => 'choice', 'choices' => $templates)))); $this->addView('modules', new ListView('Module', array('modelForm' => $form))); }
/** {@inheritdoc} */ public function showBack() { $form = new Curry_Form_SubForm(); $form->addSubForm(new Curry_Form_SubForm(array('legend' => 'Embed properties', 'class' => $this->module ? 'advanced' : '', 'elements' => array('flash' => array('filebrowser', array('label' => 'Flash', 'required' => true, 'value' => $this->flash)), 'method' => array('select', array('label' => 'Method', 'multiOptions' => array(Curry_Flash::SWFOBJECT_DYNAMIC => "swfobject (dynamic)", Curry_Flash::SWFOBJECT_STATIC => "swfobject (static)"), 'required' => true, 'value' => $this->method)), 'width' => array('text', array('label' => 'Width', 'required' => true, 'value' => $this->width)), 'height' => array('text', array('label' => 'Height', 'required' => true, 'value' => $this->height)), 'target' => array('text', array('label' => 'Target Id', 'required' => true, 'value' => $this->target)), 'version' => array('text', array('label' => 'Version', 'required' => true, 'value' => $this->version)), 'express_install' => array('text', array('label' => 'Express Install SWF', 'value' => (string) $this->expressInstall)), 'add_to_flashvars' => array('multiCheckbox', array('label' => 'Add to flashvars', 'multiOptions' => array('get' => 'GET', 'post' => 'POST', 'cookie' => 'Cookies'), 'value' => $this->addToFlashvars)), 'alternative_content' => array('textarea', array('label' => 'Alternative content', 'value' => $this->alternativeContent, 'rows' => 5, 'cols' => 40, 'wrap' => 'off'))))), 'embed'); $form->addSubForm(new Curry_Form_SubForm(array('legend' => 'Attributes', 'class' => 'advanced', 'elements' => array('name' => array('text', array('label' => 'Name', 'value' => $this->attributes['name'])), 'class' => array('text', array('label' => 'Class', 'value' => $this->attributes['class']))))), 'attributes'); $form->addSubForm(new Curry_Form_SubForm(array('legend' => 'Parameters', 'class' => 'advanced', 'elements' => array('play' => array('select', array('label' => 'Play', 'multiOptions' => array('' => '[Default]', 'true' => 'true', 'false' => 'false'), 'value' => $this->params['play'])), 'loop' => array('select', array('label' => 'Loop', 'multiOptions' => array('' => '[Default]', 'true' => 'true', 'false' => 'false'), 'value' => $this->params['loop'])), 'menu' => array('select', array('label' => 'Menu', 'multiOptions' => array('' => '[Default]', 'true' => 'true', 'false' => 'false'), 'value' => $this->params['menu'])), 'quality' => array('select', array('label' => 'Quality', 'multiOptions' => array('' => '[Default]', 'best' => 'best', 'high' => 'high', 'medium' => 'medium', 'autohigh' => 'autohigh', 'autolow' => 'autolow', 'low' => 'low'), 'value' => $this->params['quality'])), 'scale' => array('select', array('label' => 'Scale', 'multiOptions' => array('' => '[Default]', 'showall' => 'showall', 'noborder' => 'noborder', 'exactfit' => 'exactfit', 'noscale' => 'noscale'), 'value' => $this->params['scale'])), 'salign' => array('select', array('label' => 'salign', 'multiOptions' => array('' => '[Default]', 'tl' => 'tl', 'tr' => 'tr', 'bl' => 'bl', 'br' => 'br', 'l' => 'l', 't' => 't', 'r' => 'r', 'b' => 'b'), 'value' => $this->params['salign'])), 'wmode' => array('select', array('label' => 'wmode', 'multiOptions' => array('' => '[Default]', 'window' => 'window', 'opaque' => 'opaque', 'transparent' => 'transparent', 'direct' => 'direct', 'gpu' => 'gpu'), 'value' => $this->params['wmode'])), 'bgcolor' => array('text', array('label' => 'bgcolor', 'value' => $this->params['bgcolor'])), 'devicefont' => array('select', array('label' => 'devicefont', 'multiOptions' => array('' => '[Default]', 'true' => 'true', 'false' => 'false'), 'value' => $this->params['devicefont'])), 'seamlesstabbing' => array('select', array('label' => 'seamlesstabbing', 'multiOptions' => array('' => '[Default]', 'true' => 'true', 'false' => 'false'), 'value' => $this->params['seamlesstabbing'])), 'swliveconnect' => array('select', array('label' => 'swliveconnect', 'multiOptions' => array('' => '[Default]', 'true' => 'true', 'false' => 'false'), 'value' => $this->params['swliveconnect'])), 'allowfullscreen' => array('select', array('label' => 'allowfullscreen', 'multiOptions' => array('' => '[Default]', 'true' => 'true', 'false' => 'false'), 'value' => $this->params['allowfullscreen'])), 'allowscriptaccess' => array('select', array('label' => 'allowscriptaccess', 'multiOptions' => array('' => '[Default]', 'always' => 'always', 'sameDomain' => 'sameDomain', 'never' => 'never'), 'value' => $this->params['allowscriptaccess'])), 'allownetworking' => array('select', array('label' => 'allownetworking', 'multiOptions' => array('' => '[Default]', 'all' => 'all', 'internal' => 'internal', 'none' => 'none'), 'value' => $this->params['allownetworking'])), 'base' => array('text', array('label' => 'base', 'value' => $this->params['base']))))), 'params'); $variableForm = new Curry_Form_Dynamic(array('legend' => 'Variable', 'elements' => array('name' => array('text', array('label' => 'Name', 'required' => true)), 'value' => array('text', array('label' => 'Value'))))); $form->addSubForm(new Curry_Form_MultiForm(array('legend' => 'Flashvars', 'class' => 'advanced', 'cloneTarget' => $variableForm, 'defaults' => $this->flashvars)), 'flashvars'); $templatesSelect = array(null => "[ None ]") + Curry_Backend_Template::getTemplateSelect(); $classNames = array(null => "[ None ]") + Curry_Module::getModuleList(); $form->addSubForm(new Curry_Form_SubForm(array('legend' => 'Embedded module', 'class' => 'advanced', 'elements' => array('class_name' => array('select', array('label' => 'Module', 'multiOptions' => $classNames, 'value' => $this->className, 'disable' => array(__CLASS__))), 'template' => array('select', array('label' => 'Template', 'multiOptions' => $templatesSelect, 'value' => $this->template)), 'flashvar' => array('text', array('label' => 'Flashvar-name', 'value' => $this->moduleFlashvar))))), 'emodule'); if ($this->module) { $form->addSubForm($this->module->showBack(), 'submodule'); } return $form; }
/** * Module properties form. * * @param PageModuleWrapper $pageModuleWrapper * @return Curry_Form */ public static function getModulePropertiesForm(PageModuleWrapper $pageModuleWrapper) { $form = new Curry_Form(array('action' => url('', $_GET), 'method' => 'post', 'elements' => array('pid_moduleproperties' => array('hidden'), 'name' => array('text', array('label' => 'Name', 'required' => true, 'value' => $pageModuleWrapper->getPageModule()->getName(), 'description' => 'The name of this module. If you have many modules of the same type on the same page this will help you to seperate them from each other.')), 'target' => array('text', array('label' => 'Target', 'description' => 'Specifies what variable in the page-template to attach this module to.', 'required' => true, 'value' => $pageModuleWrapper->getTarget())), 'content_visibility' => array('select', array('label' => 'Content Visibility', 'description' => 'Set the visibility of this module in the Content backend module.', 'multiOptions' => PageModulePeer::$contentVisiblityOptions, 'value' => $pageModuleWrapper->getPageModule()->getContentVisibility(), 'required' => true)), 'search_visibility' => array('checkbox', array('label' => 'Search Visibility', 'description' => 'If this module should be rendered when indexing pages.', 'value' => $pageModuleWrapper->getPageModule()->getSearchVisibility(), 'required' => true))))); $showSelect = array("true" => "Yes", "false" => "No"); $defaultTemplate = $pageModuleWrapper->isInherited() ? "[ Inherit ]" : "[ None ]"; $template = $pageModuleWrapper->getModuleData()->getTemplate(); $templatesSelect = Curry_Backend_Template::getTemplateSelect(); if ($template && !array_key_exists($template, $templatesSelect)) { $templatesSelect[$template] = $template . ' <MISSING!>'; } $form->addSubForm(new Curry_Form_SubForm(array('legend' => $pageModuleWrapper->isInherited() ? 'Override inherited settings' : 'Inherited settings', 'elements' => array('template' => $pageModuleWrapper->hasTemplate() ? array('select', array('label' => 'Template', 'multiOptions' => array(null => $defaultTemplate) + $templatesSelect, 'value' => $template)) : array('select', array('label' => 'Template', 'multiOptions' => array("None"), 'disabled' => 'disabled')), 'show' => array('select', array('label' => 'Show', 'multiOptions' => $pageModuleWrapper->isInherited() ? array('' => "[ Inherit ]") + $showSelect : $showSelect, 'value' => self::bool2str($pageModuleWrapper->getModuleData()->getEnabled())))))), 'local'); $form->addElement('submit', 'save', array('label' => 'Save')); return $form; }