/** * Constructor requiring Zend_Form instance to be rendered * @param Zend_Form $form */ public function __construct(Zend_Form $form, $form_id = null) { // create view and specify doctype to have self-closing tags. $view = new Zend_View(); $view->setBasePath(dirname(__FILE__)); $view->doctype('XHTML1_TRANSITIONAL'); $this->form = $form; $this->form->setView(new Zend_View()); $this->form->setAttrib('class', 'form_dynamic'); if (!is_null($form_id)) { $this->form->setAttrib('id', $form_id); } }
/** * Constructor requiring Zend_Form instance to be rendered * @param Zend_Form $form */ public function __construct(Zend_Form $form, $form_id = null) { // create view and specify doctype to have self-closing tags. $view = new Zend_View(); $view->doctype('XHTML1_TRANSITIONAL'); $this->form = $form; $this->form->setView(new Zend_View()); $this->form->setAttrib('class', 'form_edit'); if (!is_null($form_id)) { $this->form->setAttrib('id', $form_id); } // Zend_Translate could be an option but the scope is a situation // where allready other internationalisation systems exist $this->lang = new My_LanguagePack(); }
function form() { if (!isset($this->form)) { $form = new Zend_Form(); $form->setAction($this->url()); $form->setMethod('post'); // Create and configure username element: $username = $form->createElement('text', 'username'); $username->setLabel("Username"); $username->addValidator('alnum'); $username->addValidator('regex', false, array('/^[a-z]+/')); $username->addValidator('stringLength', false, array(6, 20)); $username->setRequired(true); $username->addFilter('StringToLower'); // Create and configure password element: $password = $form->createElement('password', 'password'); $password->setLabel("Password"); $password->addValidator('StringLength', false, array(6)); $password->setRequired(true); // Add elements to form: $form->addElement($username); $form->addElement($password); // use addElement() as a factory to create 'Login' button: $form->addElement('submit', 'login', array('label' => 'Login')); // Since we're using this outside ZF, we need to supply a default view: $form->setView(new Zend_View()); $this->form = $form; } return $this->form; }
public function removeAction() { $form = new Zend_Form(); $form->setView(new Zend_View()); $form->setMethod('post'); $form->setAction(''); $form->setAttrib('class', 'devel'); $form->setAttrib('title', 'Remove wizard - ' . $this->getRequest()->getParam('name')); $handleOptions = explode(',', $this->getRequest()->getParam('handles')); $referenceOptions = explode(',', $this->getRequest()->getParam('references')); $handleOptionsUsed = explode(',', $this->getRequest()->getParam('handles_used')); $handleOptionsHidden = $form->createElement('hidden', 'handles', array('decorators' => array('ViewHelper'))); $referenceOptionsHidden = $form->createElement('hidden', 'references', array('decorators' => array('ViewHelper'))); $handleOptionsUsedHidden = $form->createElement('hidden', 'handles_used', array('decorators' => array('ViewHelper'))); $handle = $form->createElement('radio', 'handle', array('label' => 'Handle', 'required' => true, 'multiOptions' => array_combine($handleOptions, $handleOptions), 'description' => 'NOTE: This are the handles that this block appears in: ' . $this->getRequest()->getParam('handles_used'))); $reference = $form->createElement('radio', 'reference', array('label' => 'Reference', 'required' => true, 'multiOptions' => array_combine($referenceOptions, $referenceOptions))); $name = $form->createElement('text', 'name', array('label' => 'Name', 'required' => true)); $submit = $form->createElement('submit', 'submit', array('label' => 'Submit')); $form->addElements(array($handleOptionsHidden, $referenceOptionsHidden, $handleOptionsUsedHidden, $handle, $reference, $name, $submit)); if ($form->isValid($this->getRequest()->getParams())) { $localXmlWriter = Mage::getModel('devel/writer_localxml'); $localXmlWriter->addRemove($form->handle->getValue(), $form->reference->getValue(), $form->name->getValue()); $localXmlWriter->save(); die('DONE. You need to reload to see changes!'); } else { $this->loadLayout(); $this->getLayout()->getUpdate()->load('devel_layout_wizard'); $this->getLayout()->generateXml(); $this->loadLayout(); $this->getLayout()->getBlock('devel_wizard_form')->setForm($form); $this->renderLayout(); } }
/** * Method to allow non-MVC usage of Zend_Form so the * elements actually render correctly * * @param Zend_View_Interface $view */ public function setView(Zend_View_Interface $view = null) { parent::setView($view); foreach ($this->getElements() as $item) { $item->setView($view); } return $this; }
/** * Set the view object * * Ensures that the view object has the dojo view helper path set. * * @param Zend_View_Interface $view * @return Zend_Dojo_Form_Element_Dijit */ public function setView(Zend_View_Interface $view = null) { if (null !== $view) { if (false === $view->getPluginLoader('helper')->getPaths('Zend_Dojo_View_Helper')) { $view->addHelperPath('Zend/Dojo/View/Helper', 'Zend_Dojo_View_Helper'); } } return parent::setView($view); }
function indexAction() { $this->setupCache('default'); $this->level = 500; $this->requirePriviledges(); $this->toTpl('theInclude', 'profile'); $data = $this->_request->getParams(); $this->toTpl('module_title', $this->t('Profile of') . " " . $data['profile']); //check if the user is trying to view his profile $edit = false; if ($data['profile'] == 'me' || !$data['profile'] || $data['profile'] == 'index') { $profile = $_SESSION['user']['username']; $edit = true; } else { $profile = $data['profile']; $edit = false; } //try to get the user... $user = $this->getUserByName($profile); //now we need to get the data for this user $user['data'] = $this->getUserData($user['id']); //now if the user is viewing his profile, we need to create a nice form in order for him to edit the data if ($edit) { //get the fields $fields = $this->getUserProfileFields(); $form = new Zend_Form(); $form->setView($this->tpl); $form->setAttrib('class', 'form'); $form->removeDecorator('dl'); $form->setAction($this->config->host->folder . '/profiles/update')->setMethod('post'); foreach ($fields as $k => $v) { switch ($v['field_type']) { case "selectbox": $values = explode(",", $v['default_value']); break; default: $values = $v['default_value']; break; } $form->addElement($this->getFormElement(array('name' => $v['name'], 'value' => $v['field_type'], 'title' => $this->t(ucfirst($v['name'])), 'use_pool' => 'valuesAsKeys', 'pool_type' => $values, 'novalue' => true), $user['data'][$v['name']])); } $form->addElement($this->getFormElement(array('name' => 'uid', 'value' => 'hidden'), $user['id'])); $submit = new Zend_Form_Element_Submit('save'); $submit->setLabel($this->t("Update")); $submit->setAttrib('class', "btn btn-primary"); $form->addElement($submit); $form = $this->doQoolHook('pre_assign_user_profile_form', $form); $this->toTpl('formTitle', $this->t("Update your profile")); $this->toTpl('theForm', $form); $user = $this->doQoolHook('pre_assign_profiles_own_user_data', $user); } else { $user = $this->doQoolHook('pre_assign_profiles_user_data', $user); } $this->doQoolHook('pre_load_profiles_tpl'); $this->toTpl('user', $user); }
public function setupForm() { $form1 = new Zend_Form_SubForm(); $form1->addElement('text', 'foo', array('label' => 'Sub Foo: ', 'required' => true, 'validators' => array('NotEmpty', 'Alpha')))->addElement('text', 'bar', array('label' => 'Sub Bar: ', 'required' => true, 'validators' => array('Alpha', 'Alnum'))); $form2 = new Zend_Form(); $form2->addElement('text', 'foo', array('label' => 'Master Foo: ', 'required' => true, 'validators' => array('NotEmpty', 'Alpha')))->addElement('text', 'bar', array('required' => true, 'validators' => array('Alpha', 'Alnum')))->addSubForm($form1, 'sub'); $form2->isValid(array('foo' => '', 'bar' => 'foo 2 u 2', 'sub' => array('foo' => '', 'bar' => 'foo 2 u 2'))); $form2->setView($this->getView()); $this->decorator->setElement($form2); $this->form = $form2; return $form2; }
public function testFormEnableShouldIncludeElementsOnRender() { $view = new Zend_View(); $form = new Zend_Form(); $element = new ZendX_JQuery_Form_Element_Spinner("spinner1"); $form->setView($view); $form->addElement($element); ZendX_JQuery::enableForm($form); $this->assertFalse($form->getElement('spinner1')->getView() instanceof Zend_View); $form->render(); $this->assertTrue($form->getElement('spinner1')->getView() instanceof Zend_View); $this->assertTrue(false !== $form->getElement('spinner1')->getView()->getPluginLoader('helper')->getPaths('ZendX_JQuery_View_Helper')); }
/** * @group ZF-3217 */ public function testFormShouldOverloadToRenderDecorators() { $this->setupElements(); $this->form->setView($this->getView()); $html = $this->form->renderFormElements(); foreach ($this->form->getElements() as $element) { $this->assertContains('id="' . $element->getFullyQualifiedName() . '"', $html, 'Received: ' . $html); } $this->assertNotContains('<dl', $html); $this->assertNotContains('<form', $html); $html = $this->form->renderFormDecorator('this is the content'); $this->assertContains('<form', $html); $this->assertContains('</form>', $html); $this->assertContains('this is the content', $html); }
/** * Checks and performs login * @param $app Application * @return string */ public function profileForm(Application $app) { $this->checkAuth($app); $username = $app["user"]->getUserName(); $db = $app["db"]; $user = $db->fetchAssoc("SELECT * FROM users WHERE login_name = ? ", [$username]); $view = new \Zend_View(); $form = new \Zend_Form(); $form->setView($view); $form->setAction("/user/save"); $form->addElement("text", "login_name", ["label" => "Kullanıcı Adı", "required" => true])->setDefault("login_name", $user["login_name"]); $form->addElement("password", "login_pass", ["label" => "Şifre", "required" => true]); $form->addElement("password", "login_pass_again", ["label" => "Şifre Tekrar", "required" => true]); $form->addElement("text", "user_name", ["label" => "Ad Soyad", "required" => true])->setDefault("user_name", $user["user_name"]); $form->addElement("submit", "submit", ["ignore" => true, "label" => "Kaydet"]); return $app['twig']->render('user/profile_form.html.twig', ["user" => $user, "form" => $form]); }
/** * Creates a form for email sending and assigns it to the template or displays it * */ public function mailtoAction() { $this->totpl('theInclude', 'general'); Zend_Registry::set('module', 'Mailto User'); $data = $this->_request->getParams(); $form = new Zend_Form(); $form->setView($this->tpl); $form->setAttrib('class', 'form'); $form->removeDecorator('dl'); $form->setAction($this->config->host->folder . '/admin/mailtouser')->setMethod('post'); $addon = new Zend_Form_Element_Hidden('fid'); $addon->setValue($data['id']); $form->addElement($addon); $form->addElement($this->getFormElement(array("name" => 'tomail', "value" => 'textinput', "title" => $this->t("To mail")), $data['mail'])); $form->addElement($this->getFormElement(array("name" => 'cc', "value" => 'textinput', "title" => $this->t("MailCC")))); $form->addElement($this->getFormElement(array("name" => 'subject', "value" => 'textinput', "title" => $this->t("Subject")))); $form->addElement($this->getFormElement(array("name" => 'message', "value" => 'editor', "title" => $this->t("Message"), 'attributes' => array('class' => 'editor span5', 'rows' => 8)))); $form->addElement('hidden', 'dummy', array('required' => false, 'ignore' => true, 'autoInsertNotEmptyValidator' => false, 'decorators' => array(array('HtmlTag', array('tag' => 'hr', 'id' => 'wmd-button-bar', 'class' => 'divider'))))); $form->dummy->clearValidators(); $submit = new Zend_Form_Element_Submit('save'); $submit->setAttrib('class', 'btn btn-primary'); $submit->setDecorators(array("ViewHelper")); $submit->setLabel($this->t("Send")); $form->addElement($submit); if ($data['ajaxcalled']) { echo $form; die; } $this->totpl('html', $form); }
public function getForm() { $form = new Zend_Form(); $form->setName($this->poClass . "_form"); $schema = $this->schema->getSchema(); foreach ($this->getEditableProperties() as $propertyName => $property) { $methodName = 'get' . ucfirst($propertyName) . 'Element'; if (method_exists($this, $methodName)) { $form->addElement($this->{$methodName}()); continue; } $dbField = $schema[$this->poDef->table]->fields[$property->columnName]; $dbType = $dbField->type; switch ($dbType) { case 'integer': case 'timestamp': case 'boolean': $element = new Zend_Form_Element_Text($propertyName); $element->addValidator('allnum'); $element->addFilter('int'); break; case 'float': case 'decimal': $element = new Zend_Form_Element_Text($propertyName); break; case 'blob': case 'clob': $element = new Zend_Form_Element_Textarea($propertyName); break; case 'text': case 'time': case 'date': default: $element = new Zend_Form_Element_Text($propertyName); break; } if (list($relatedClassName, $relationDef) = $this->isFK($property->columnName)) { $element = new Zend_Form_Element_Select($propertyName); $pos = ezcPersistentSessionInstance::get(); $q = $pos->createFindQuery($relatedClassName); $this->queryHook($q); $list = $pos->find($q, $relatedClassName); $element->options = $list; $element->addFilter('int'); } if (!$this->isNullProperty($property->columnName, $this->poDef->table)) { $element->setRequired(true)->addValidator('NotEmpty'); } $element->setLabel($propertyName); $form->addElement($element); } $submit = new Zend_Form_Element_Submit('submit'); $submit->setLabel('Submit'); $form->addElement($submit); $form->clearDecorators(); $form->addDecorator('FormElements')->addDecorator('HtmlTag', array('tag' => '<ul>'))->addDecorator('Form'); $form->setElementDecorators(array(array('ViewHelper'), array('Errors'), array('Description'), array('Label', array('separator' => ' ')), array('HtmlTag', array('tag' => 'li', 'class' => 'element-group')))); // buttons do not need labels $submit->setDecorators(array(array('ViewHelper'), array('Description'), array('HtmlTag', array('tag' => 'li', 'class' => 'submit-group')))); $form->setView(new Zend_View()); return $form; }
/** * @group ZF-2950 */ public function testSubFormGetsUniqueIdWithName() { $form = new Zend_Form(); $form->setView($this->getView())->setName('testform')->addSubForm(new Zend_Form_SubForm(), 'testform'); $html = $form->render(); $this->assertContains('<dt id="testform-label"> </dt>', $html); $this->assertContains('<dd id="testform-element">', $html); }
function form() { $form = new Zend_Form(); $form->setView(new Zend_View()); $form->addElement('text', 'api_token', array('label' => 'API Token', 'required' => true, 'value' => $this->getConfig()->vfdata->api_token)); $form->addElement('submit', 'save', array('label' => 'Save')); return $form; }
public function buildLoginForm($redirect = false) { try { $form = new Zend_Form(); $form->setView($this->tpl); $form->setAttrib('class', 'form-inline'); $form->removeDecorator('dl'); $form->setAction($this->config->host->folder . '/dologin')->setMethod('post'); if ($redirect) { $redir = new Zend_Form_Element_Hidden('redirect'); $redir->setValue($redirect); $form->addElement($redir); } $username = new Zend_Form_Element_Text('username'); $username->setDecorators(array("ViewHelper")); $username->setAttrib('class', 'input-medium'); $username->setAttrib('placeholder', $this->t('Username')); $username->addValidator('regex', false, array('/^[a-z]/i')); $username->setLabel($this->t('Username')); $username->setRequired(true); $username->addFilter('StringtoLower'); $password = $form->createElement('password', 'password'); $password->setDecorators(array("ViewHelper")); $password->setAttrib('class', 'input-medium'); $username->setLabel($this->t('Password')); $password->addValidator('StringLength', false, array(6))->setRequired(true); $submit = new Zend_Form_Element_Submit('login'); $submit->setAttrib('class', 'btn'); $submit->setDecorators(array("ViewHelper")); $submit->setLabel($this->t('Login')); $form->addElement($username)->addElement($password)->addElement($submit); $form = $this->doQoolHook('post_loginform_create', $form); $this->toTpl('loginForm', $form); } catch (Exception $e) { echo $e->getMessage(); } }
public function searchForm($app) { $params = []; $sql = "SELECT t.*, u.user_name, group_concat(concat(c.category_name, ',')) as category_name "; $sql = $sql . " FROM tickets t JOIN users u USING (user_id) LEFT JOIN tags v USING (ticket_id) LEFT JOIN categories c USING (category_id)"; $sql = $sql . " WHERE true "; if (!empty($app["request"]->get("priority"))) { $sql = $sql . " AND t.priority = ?"; $params[] = $app["request"]->get("priority"); } if (!empty($app["request"]->get("tags"))) { $sql = $sql . " AND EXISTS (SELECT NULL FROM tags i WHERE i.ticket_id = t.ticket_id AND i.category_id = ?)"; $params[] = $app["request"]->get("tags"); } if (!empty($app["request"]->get("title"))) { $sql = $sql . " AND t.ticket_title like ?"; $params[] = '%' . $app["request"]->get("title") . "%"; } $sql = $sql . " GROUP BY t.ticket_id ORDER BY modify_date DESC"; $tickets = $app["db"]->fetchAll($sql, $params); $view = new \Zend_View(); $form = new \Zend_Form(); $form->setView($view); $form->setAction("/ticket/search-form"); $categories = $app["db"]->fetchAll("SELECT * FROM categories"); $ticket_tags = new \Zend_Form_Element_Select("tags", ["label" => "Kategori", "required" => true]); $ticket_tags->addMultiOption(0, "Hepsi"); foreach ($categories as $category) { $ticket_tags->addMultiOption($category["category_id"], $category["category_name"]); } $priority = new \Zend_Form_Element_Select("priority", ["label" => "Önem", "required" => true]); $priority->addMultiOption("", "Hepsi"); $priority->addMultiOption("Düşük", "Düşük"); $priority->addMultiOption("Orta", "Orta"); $priority->addMultiOption("Yüksek", "Yüksek"); $priority->addMultiOption("Kritik", "Kritik"); $form->addElement("text", "title", ["label" => "Başlık", "required" => false]); $form->addElement($priority); $form->addElement($ticket_tags); $form->addElement("submit", "submit", ["ignore" => true, "label" => "Ara"]); return $app['twig']->render('ticket/search.html.twig', ["form" => $form, "tickets" => $tickets]); }
function getLoginForm($redirect) { $form = new Zend_Form(); $form->setView($this->tpl); $form->setAttrib('class', 'form-inline'); $form->removeDecorator('dl'); $form->setAction($this->config->host->folder . '/dologin')->setMethod('post'); if ($redirect) { $redir = new Zend_Form_Element_Hidden('redirect'); $redir->setValue($redirect); $redir->setLabel($this->t('This action requires you login')); $form->addElement($redir); } $username = new Zend_Form_Element_Text('username'); $username->setDecorators(array("ViewHelper")); $username->setAttrib('class', 'input-medium'); $username->setAttrib('placeholder', $this->language['Username']); $username->addValidator('regex', false, array('/^[a-z]/i')); $username->setLabel($this->language['Username']); $username->setRequired(true); $username->addFilter('StringtoLower'); $password = $form->createElement('password', 'password'); $password->setDecorators(array("ViewHelper")); $password->setAttrib('class', 'input-medium'); $username->setLabel($this->language['Password']); $password->addValidator('StringLength', false, array(6))->setRequired(true); $submit = new Zend_Form_Element_Submit('login'); $submit->setAttrib('class', 'btn'); $submit->setDecorators(array("ViewHelper")); $submit->setLabel($this->t('Login')); $form->addElement($username)->addElement($password)->addElement($submit); return $form; }
/** * Set view object * * @param \Zend_View_Interface $view * @return \Zend_Form */ public function setView(\Zend_View_Interface $view = null) { if ($view) { if (!$this->_no_jquery) { $this->_activateJQueryView($view); } } return parent::setView($view); }
/** * @group ZF-8822 */ public function testStripAcceptCharsetAttribute() { $form = new Zend_Form(); $form->setAttrib('accept-charset', 'ISO-8859-15'); $form->setView($this->getView()); $html = $this->decorator->setElement($form)->render(''); $this->assertEquals('<fieldset></fieldset>', $html); }
public function testMultiFileWithOneFile() { $form = new Zend_Form(); $element = new Zend_Form_Element_File('file'); $element->setMultiFile(1); $subform0 = new Zend_Form_SubForm(); $subform0->addElement($element); $subform1 = new Zend_Form_SubForm(); $subform1->addSubform($subform0, 'subform0'); $subform2 = new Zend_Form_SubForm(); $subform2->addSubform($subform1, 'subform1'); $subform3 = new Zend_Form_SubForm(); $subform3->addSubform($subform2, 'subform2'); $form->addSubform($subform3, 'subform3'); $form->setView(new Zend_View()); $output = (string) $form; $this->assertNotContains('name="file[]"', $output); }
public function testMultiFileInSubSubSubform() { $form = new Zend_Form(); $element = new Zend_Form_Element_File('file'); $element->setMultiFile(2); $subform0 = new Zend_Form_SubForm(); $subform0->addElement($element); $subform1 = new Zend_Form_SubForm(); $subform1->addSubform($subform0, 'subform0'); $subform2 = new Zend_Form_SubForm(); $subform2->addSubform($subform1, 'subform1'); $subform3 = new Zend_Form_SubForm(); $subform3->addSubform($subform2, 'subform2'); $form->addSubform($subform3, 'subform3'); $form->setView(new Zend_View()); $output = (string) $form; $this->assertContains('name="file[]"', $output); $this->assertEquals(2, substr_count($output, 'file[]')); }
function finish() { document.getElementById('pg-percent').style.width = '100%'; document.getElementById('pg-text-1').innerHTML = 'Upload done'; document.getElementById('pg-text-2').innerHTML = 'Upload done'; } </script> </head> <body> <?php require_once 'Zend/View.php'; require_once 'Zend/Form.php'; $form = new Zend_Form(array('enctype' => 'multipart/form-data', 'action' => 'ZendForm.php', 'target' => 'uploadTarget', 'onsubmit' => 'observeProgress();', 'elements' => array('file' => array('file', array('label' => 'File')), 'submit' => array('submit', array('label' => 'Upload!'))))); $form->setView(new Zend_View()); echo $form; ?> <iframe name="uploadTarget"></iframe> <div id="progressbar"> <div class="pg-progressbar"> <div class="pg-progress" id="pg-percent"> <div class="pg-progressstyle"></div> <div class="pg-invertedtext" id="pg-text-1"></div> </div> <div class="pg-text" id="pg-text-2"></div> </div> </div> <div id="progressBar"><div id="progressDone"></div></div> </body>
public function testNotGeneratingSubformErrorMarkupWrappingWhenNoErrors() { $form1 = new Zend_Form_SubForm(); $form2 = new Zend_Form(); $form2->addSubForm($form1, 'sub'); $form2->setView($this->getView()); $this->decorator->setElement($form2); $content = 'test content'; $this->assertSame($content, $this->decorator->render($content)); }
$app->before(function ($request) use($app) { $sh = new \Tickets\SecurityProvider($app["db"]); $app["user"] = $sh->loadUserByUsername($app["session"]->get("username")); }); $app->mount('/ticket', new Tickets\TicketProvider()); $app->mount('/user', new Tickets\UserProvider()); $app->mount('/admin', new Tickets\AdminProvider()); $app->get('/', function () use($app) { $user = isset($app["user"]) ? $app["user"] : null; if ($user == null) { return $app->redirect("/login-form"); } if (array_search('ROLE_ADMIN', $user->getRoles()) !== false) { return $app->redirect("/admin/home"); } if (array_search('ROLE_USER', $user->getRoles()) !== false) { return $app->redirect("/user/home"); } return $app->redirect("/login-form"); }); $app->get('/login-form', function () use($app) { $view = new \Zend_View(); $form = new \Zend_Form(); $form->setView($view); $form->setAction("/user/login-save"); $form->addElement("text", "_username", ["label" => "Kullanıcı Adı", "required" => true]); $form->addElement("password", "_password", ["label" => "Şifre", "required" => true]); $form->addElement("submit", "submit", ["ignore" => true, "label" => "Giriş"]); return $app['twig']->render('user/login_form.html.twig', ["form" => $form]); }); $app->run();