public function __construct($id = null, $method = 'post', $attributes = null, $trackSubmit = true) { $attributes['action'] = Arr::get($attributes, 'action', \URL::current()); parent::__construct($id, $method, $attributes, $trackSubmit); if (method_exists($this, 'build')) { $this->build(); } $this->initValidator(); $this->addHidden('_token', ['value' => csrf_token()]); }
function __construct($id, $method = 'post', $attributes = null, $trackSubmit = false) { if (!isset($attributes['action'])) { $attributes['action'] = Piwik_Url::getCurrentQueryString(); } if (!isset($attributes['name'])) { $attributes['name'] = $id; } parent::__construct($id, $method, $attributes, $trackSubmit); $this->init(); }
public function __construct($id, $values, $action) { parent::__construct($id); $this->naziv = new HTML_QuickForm2_Element_InputText('naziv'); $this->naziv->setAttribute('size', "100%"); $this->naziv->setLabel('Naziv:'); $this->naziv->setValue($values["naziv"]); $this->naziv->addRule('required', 'Vnesite naziv.'); $this->naziv->addRule('regex', 'Pri imenu uporabite le črke, številke, narekovaje ali ločila.', '/^[a-zA-Zšč枊ČĆŽ0-9\'\\"-.,;! ]+$/'); $this->naziv->addRule('maxlength', 'Ime naj bo krajše od 80 znakov.', 80); $this->cena = new HTML_QuickForm2_Element_InputText('cena'); $this->cena->setAttribute('size', "100%"); $this->cena->setLabel('Cena:'); $this->cena->setValue($values["cena"]); $this->cena->addRule('required', 'Vnesite ceno.'); $this->cena->addRule('regex', 'Pri ceni uporabite le številke in piko za decimalne zapise.', '/^[0-9.]+$/'); $this->cena->addRule('maxlength', 'Cena naj bo krajši od 10 znakov.', 10); $this->opis = new HTML_QuickForm2_Element_Textarea('opis'); $this->opis->setAttribute('rows', 5); $this->opis->setAttribute('cols', "98%"); $this->opis->setLabel('Opis:'); $this->opis->setValue($values["opis"]); $this->opis->addRule('required', 'Vnesite opis.'); $this->opis->addRule('maxlength', 'Opis naj bo krajši od 250 znakov.', 250); if ($action != "profil") { $this->aktiven = new HTML_QuickForm2_Element_InputCheckbox('aktiven'); $this->aktiven->setLabel('Aktiven izdelek:'); if (isset($values["aktiven"]) && $values["aktiven"] == "da") { $this->aktiven->setValue(1); } } $this->gumb = new HTML_QuickForm2_Element_InputSubmit(null); if ($action == "dodajanje") { $this->gumb->setAttribute('value', 'Ustvari izdelek'); } elseif ($action == "profil") { $this->gumb->setAttribute('value', 'Spremeni'); } else { $this->gumb->setAttribute('value', 'Spremeni izdelek'); } $this->addElement($this->naziv); $this->addElement($this->cena); $this->addElement($this->opis); if ($action != "profil") { $this->addElement($this->aktiven); } $this->addElement($this->gumb); $this->addRecursiveFilter('trim'); $this->addRecursiveFilter('htmlspecialchars'); }
function __construct($id = null, $attributes = null, $method = 'post') { $this->addFilter(array(__CLASS__, '_trimArray')); if ($id === null) { $id = get_class($this); } if (!$attributes) { $attributes = array(); } if (empty($attributes['action'])) { $attributes['action'] = preg_replace('/\\?.*/', '', $_SERVER['REQUEST_URI']); } parent::__construct($id, $method, $attributes, false); $this->addElement('hidden', '_save_')->setValue($id); $this->init(); }
function __construct($id = null, $attributes = null, $method = 'post') { $this->addFilter(array(__CLASS__, '_trimArray')); if ($id === null) { $id = get_class($this); } $i = 0; $suggestId = $id; while (isset(self::$_usedIds[$suggestId])) { $suggestId = $id . '-' . ++$i; } $id = $suggestId; self::$_usedIds[$id] = 1; if (!$attributes) { $attributes = array(); } if (empty($attributes['action'])) { $attributes['action'] = preg_replace('/\\?.*/', '', $_SERVER['REQUEST_URI']); } parent::__construct($id, $method, $attributes, false); $this->addElement('hidden', '_save_')->setValue($id); $this->init(); }
public function __construct($id, $values, $action) { parent::__construct($id); $this->ime = new HTML_QuickForm2_Element_InputText('ime'); $this->ime->setAttribute('size', "100%"); $this->ime->setLabel('Ime:'); $this->ime->setValue($values["ime"]); $this->ime->addRule('required', 'Vnesite ime.'); $this->ime->addRule('regex', 'Pri imenu uporabite le črke.', '/^[a-zA-Zšč枊ČĆŽ ]+$/'); $this->ime->addRule('maxlength', 'Ime naj bo krajše od 50 znakov.', 50); $this->priimek = new HTML_QuickForm2_Element_InputText('priimek'); $this->priimek->setAttribute('size', "100%"); $this->priimek->setLabel('Priimek:'); $this->priimek->setValue($values["priimek"]); $this->priimek->addRule('required', 'Vnesite priimek.'); $this->priimek->addRule('regex', 'Pri priimku uporabite le črke.', '/^[a-zA-Zšč枊ČĆŽ\\- ]+$/'); $this->priimek->addRule('maxlength', 'Priimek naj bo krajši od 50 znakov.', 50); $this->mail = new HTML_QuickForm2_Element_InputText('mail'); $this->mail->setAttribute('size', "100%"); $this->mail->setLabel('Elektronski naslov:'); $this->mail->setValue($values["mail"]); $this->mail->addRule('required', 'Vnesite elektronski naslov.'); $this->mail->addRule('callback', 'Vnesite veljaven elektronski naslov.', array('callback' => 'filter_var', 'arguments' => array(FILTER_VALIDATE_EMAIL))); $this->uporabnisko_ime = new HTML_QuickForm2_Element_InputText('uporabnisko_ime'); $this->uporabnisko_ime->setAttribute('size', "100%"); $this->uporabnisko_ime->setLabel('Uporabniško ime:'); $this->uporabnisko_ime->setValue($values["uporabnisko_ime"]); $this->uporabnisko_ime->addRule('required', 'Vnesite uporabniško ime.'); $this->uporabnisko_ime->addRule('regex', 'Pri imenu uporabite le črke in številke.', '/^[a-zA-Zšč枊ČĆŽ0-9 ]+$/'); $this->uporabnisko_ime->addRule('maxlength', 'Ime naj bo krajše od 255 znakov.', 255); if ($action == "dodajanje") { $this->uporabnisko_ime->addRule('callback', 'Vporabniško ime že obstaja.', 'UsersDB::preveriUpodabniskoImeDodajanje'); } else { $this->uporabnisko_ime->addRule('callback', 'Vporabniško ime že obstaja.', array('callback' => 'UsersDB::preveriUpodabniskoImeSpreminjanje', 'arguments' => array($_SESSION["uname"]))); } $this->geslo = new HTML_QuickForm2_Element_InputPassword('geslo'); $this->geslo->setLabel('Izberite geslo:'); $this->geslo->setValue($values["geslo"]); $this->geslo->setAttribute('size', "100%"); $this->geslo->addRule('required', 'Vnesite geslo.'); $this->geslo->addRule('minlength', 'Geslo naj vsebuje vsaj 6 znakov.', 6); $this->geslo->addRule('maxlength', 'Geslo naj bo krajši od 60 znakov.', 60); $this->geslo2 = new HTML_QuickForm2_Element_InputPassword('geslo2'); $this->geslo2->setLabel('Ponovite geslo:'); $this->geslo2->setValue($values["geslo"]); $this->geslo2->setAttribute('size', "100%"); $this->geslo2->addRule('required', 'Ponovno vpišite izbrano geslo.'); $this->geslo2->addRule('eq', 'Gesli nista enaki.', $this->geslo); // če je oseba stranka more imetu tudi telefon in pošto if (isset($values["stranka"])) { $this->telefon = new HTML_QuickForm2_Element_InputText('telefon'); $this->telefon->setAttribute('size', "100%"); $this->telefon->setLabel('Mobilni telefon:'); $this->telefon->setValue($values["telefon"]); $this->telefon->addRule('required', 'Vnesite telefonsko številko.'); $this->telefon->addRule('regex', 'Pri telefonski številki uporabite le številke ločene s presledkom (npr. 031 123 456).', '/^(070|051|050|041|040|031) [0-9]{3} [0-9]{3}$/'); $this->telefon->addRule('maxlength', 'Telefonska številka naj bo krajši od 9 številk in 2 presledka.', 11); $this->ulica = new HTML_QuickForm2_Element_InputText('ulica'); $this->ulica->setAttribute('size', "100%"); $this->ulica->setLabel('Ulica:'); $this->ulica->setValue($values["ulica"]); $this->ulica->addRule('required', 'Vnesite ulico bivanja.'); $this->ulica->addRule('regex', 'Pri vnosu ulice uporabite le črke.', '/^[a-zA-Zšč枊ČĆŽ ]+$/'); $this->ulica->addRule('maxlength', ' naj bo krajši od 75 znakov.', 75); $this->stevilka = new HTML_QuickForm2_Element_InputText('stevilka'); $this->stevilka->setAttribute('size', "100%"); $this->stevilka->setLabel('Hišna številka:'); $this->stevilka->setValue($values["stevilka"]); $this->stevilka->addRule('required', 'Vnesite hišno številko.'); $this->stevilka->addRule('regex', 'Pri hišni številki uporabite le številke in črke.', '/^[a-zA-Zšč枊ČĆŽ 0-9 ]+$/'); $this->stevilka->addRule('maxlength', 'Telefonska številka naj bo krajši od 10 znakov.', 10); $this->posta = new HTML_QuickForm2_Element_InputText('posta'); $this->posta->setAttribute('size', "100%"); $this->posta->setLabel('Poštna številka'); $this->posta->setValue($values["posta"]); $this->posta->addRule('required', 'Vnesi številko pošte.'); $this->posta->addRule('regex', 'Le števila med 1000 in 9999.', '/^[1-9][0-9]{3}$/'); $this->kraj = new HTML_QuickForm2_Element_InputText('kraj'); $this->kraj->setAttribute('size', "100%"); $this->kraj->setLabel('Naziv pošte:'); $this->kraj->setValue($values["kraj"]); $this->kraj->addRule('required', 'Vnesi kraj pošte.'); $this->kraj->addRule('regex', 'Pri kraju uporabite le črke.', '/^[a-zA-Zšč枊ČĆŽ ]+$/'); $this->kraj->addRule('maxlength', 'Kraj naj bo krajši od 45 znakov.', 45); } if ($action != "profil" && !isset($values["vloga"])) { $this->aktiven = new HTML_QuickForm2_Element_InputCheckbox('aktiven'); $this->aktiven->setLabel('Aktiven uporabnik:'); if (isset($values["aktiven"]) && $values["aktiven"] == "da") { $this->aktiven->setValue(1); } } if (isset($values["vloga"]) && $values["vloga"] != "stranka") { $this->captcha = new HTML_QuickForm2_Element_Captcha_ReCaptcha('captcha[recaptcha]', array('id' => 'captcha_recaptcha'), array('label' => 'Vnesite kodo na sliki', 'public-key' => '6LcKZxUTAAAAANecoxYxMzY9cwN49L1gBUOxUyd4', 'private-key' => '6LcKZxUTAAAAAM_DSAsVlDPEAsALZB2X36pqilgr')); } $this->gumb = new HTML_QuickForm2_Element_InputSubmit(null); if ($action == "dodajanje") { if (isset($values["stranka"])) { if (isset($values["vloga"]) && $values["vloga"] == "stranka") { $this->gumb->setAttribute('value', 'Registriraj se'); } else { $this->gumb->setAttribute('value', 'Ustvari stranko'); } } else { $this->gumb->setAttribute('value', 'Ustvari prodajalca'); } } elseif ($action == "profil") { $this->gumb->setAttribute('value', 'Spremeni'); } else { if (isset($values["stranka"])) { $this->gumb->setAttribute('value', 'Spremeni stranko'); } else { $this->gumb->setAttribute('value', 'Spremeni prodajalca'); } } $this->addElement($this->ime); $this->addElement($this->priimek); $this->addElement($this->mail); $this->addElement($this->uporabnisko_ime); $this->addElement($this->geslo); $this->addElement($this->geslo2); if (isset($values["stranka"])) { //dodajanje atributov, ki so samo za stranko $this->addElement($this->telefon); $this->addElement($this->ulica); $this->addElement($this->stevilka); $this->addElement($this->posta); $this->addElement($this->kraj); } if ($action != "profil" && !isset($values["vloga"])) { $this->addElement($this->aktiven); } if (isset($values["vloga"]) && $values["vloga"] != "stranka") { $this->addElement($this->captcha); } $this->addElement($this->gumb); $this->addRecursiveFilter('trim'); $this->addRecursiveFilter('htmlspecialchars'); }