function createForm() { $form = new Am_Form_Admin(); $plugins = $form->addSelect('plugin')->setLabel(___('Plugin')); $plugins->addRule('required'); $plugins->addOption('*** ' . ___('Select a plugin') . ' ***', ''); foreach (Am_Di::getInstance()->plugins_protect->getAllEnabled() as $plugin) { if (!$plugin->isConfigured()) { continue; } $group = $form->addFieldset($plugin->getId())->setId('headrow-' . $plugin->getId()); $group->setLabel($plugin->getTitle()); $plugin->getIntegrationFormElements($group); // add id[...] around the element name foreach ($group->getElements() as $el) { $el->setName('_plugins[' . $plugin->getId() . '][' . $el->getName() . ']'); } if (!$group->count()) { $form->removeChild($group); } else { $plugins->addOption($plugin->getTitle(), $plugin->getId()); } } $group = $form->addFieldset('access')->setLabel(___('Access')); $group->addElement(new Am_Form_Element_ResourceAccess())->setName('_access')->setLabel(___('Access Permissions'))->setAttribute('without_period', 'true')->setAttribute('without_free', 'true')->setAttribute('without_free_without_login', 'true'); $form->addScript()->setScript(<<<CUT \$(function(){ \$("select[name='plugin']").change(function(){ var selected = \$(this).val(); \$("[id^='headrow-']").hide(); if (selected) { \$("[id=headrow-"+selected+"-legend]").show(); \$("[id=headrow-"+selected+"]").show(); } }).change(); }); CUT ); return $form; }