/** * Vrátí základní fieldset pro číselník * * @author Martin Hlaváč * @link http://www.ktstudio.cz * * @param string $name * @param string $prefix * @param KT_Catalog_Model_Base $item * @return \KT_Form_Fieldset */ public static function getCatalogBaseFieldset($name, $prefix, $title = null, KT_Catalog_Model_Base $item = null) { $fieldset = new KT_Form_Fieldset($name, $title); $fieldset->setPostPrefix($prefix); $fieldset->addText(KT_Catalog_Model_Base::TITLE_COLUMN, __("Název*: ", KT_DOMAIN))->addRule(KT_Field_Validator::REQUIRED, "Název je povinná položka", KT_DOMAIN)->addRule(KT_Field_Validator::MIN_LENGTH, __("Název musí mít alespoň 3 znaky", KT_DOMAIN), 3)->addRule(KT_Field_Validator::MAX_LENGTH, __("Název může mít maximálně 50 znaků", KT_DOMAIN), 50); $fieldset->addTextarea(KT_Catalog_Model_Base::DESCRIPTION_COLUMN, __("Popis: ", KT_DOMAIN))->setRows(5)->setTooltip(__("Doplňující údaj informačního charakteru...", KT_DOMAIN)); $fieldset->addText(KT_Catalog_Model_Base::CODE_COLUMN, __("Kód: ", KT_DOMAIN))->addAttribute("maxlength", 30)->addRule(KT_Field_Validator::MAX_LENGTH, __("Kód může mít maximálně 30 znaků", KT_DOMAIN), 30); $fieldset->addSwitch(KT_Catalog_Model_Base::VISIBILITY_COLUMN, __("Viditelnost*: ", KT_DOMAIN))->setValue(KT_Switch_Field::YES)->addRule(KT_Field_Validator::REQUIRED, __("Viditelnost je povinná položka", KT_DOMAIN)); if (KT::issetAndNotEmpty($item) && $item->isInDatabase()) { $fieldset->addHidden(KT_Catalog_Model_Base::ID_COLUMN)->setValue($item->getId()); $fieldset->setFieldsData($item->getData()); } return $fieldset; }
/** * * @author Martin Hlaváč * @link http://www.ktstudio.cz * * @param WP_User $currentUser * @return \KT_Form_Fieldset */ public static function getCommentFieldset(WP_User $currentUser = null) { $fieldset = new KT_Form_Fieldset(self::COMMENT_FIELDSET); $fieldset->setPostPrefix(self::COMMENT_FIELDSET); if ($currentUser === null) { $currentUser = wp_get_current_user(); } $fieldset->addText(self::FIRST_NAME, __("Autor*:", KT_DOMAIN))->setValue($currentUser->display_name)->setAttrMaxlength(30)->addRule(KT_Field_Validator::REQUIRED, __("Autor je povinná položka.", KT_DOMAIN))->addRule(KT_Field_Validator::MAX_LENGTH, __("Autor může mít maximálně 30 znaků.", KT_DOMAIN), 30); $fieldset->addText(self::EMAIL, __("E-mail*:", KT_DOMAIN))->setValue($currentUser->user_email)->setAttrMaxlength(50)->addRule(KT_Field_Validator::REQUIRED, __("E-mail je povinná položka.", KT_DOMAIN))->addRule(KT_Field_Validator::EMAIL, __("E-mail musí být ve správném tvaru.", KT_DOMAIN))->addRule(KT_Field_Validator::MAX_LENGTH, __("E-mail může mít maximálně 50 znaků.", KT_DOMAIN), 50); $fieldset->addText(self::URL, __("URL:", KT_DOMAIN))->setAttrMaxlength(100)->addRule(KT_Field_Validator::MAX_LENGTH, __("URL může mít maximálně 100 znaků.", KT_DOMAIN), 100); $fieldset->addTextarea(self::COMMENT, __("Komentář*:", KT_DOMAIN))->setAttrMaxlength(1000)->addRule(KT_Field_Validator::REQUIRED, __("Komentář je povinná položka.", KT_DOMAIN))->addRule(KT_Field_Validator::MAX_LENGTH, __("Komentář může mít maximálně 1000 znaků.", KT_DOMAIN), 1000); $fieldset->addField(self::getCommentFavouriteField(__("Kontrola:", KT_DOMAIN))); $fieldset->addField(self::getCommentNonceField($fieldset->getName(), __("Kontrola:", KT_DOMAIN))); return $fieldset; }
/** * Vrátí výchozí fieldset kontaktního formuláře * * @author Martin Hlaváč * @link http://www.ktstudio.cz * * @return \KT_Form_Fieldset */ public static function getFieldset($splittedName = false, $exactedPhone = true) { $fieldset = new KT_Form_Fieldset(self::FORM_PREFIX, __("Kontakt", KT_DOMAIN)); $fieldset->setPostPrefix(self::FORM_PREFIX); if ($splittedName) { $fieldset->addText(self::FIRST_NAME, __("Jméno*:", KT_DOMAIN))->setPlaceholder(__("Jméno*", KT_DOMAIN))->addAttribute("maxlength", 30)->addRule(KT_Field_Validator::REQUIRED, __("Jméno je povinná položka", KT_DOMAIN))->addRule(KT_Field_Validator::MAX_LENGTH, __("Jméno může mít maximálně 30 znaků", KT_DOMAIN), 30); $fieldset->addText(self::LAST_NAME, __("Příjmení*:", KT_DOMAIN))->setPlaceholder(__("Příjmení*", KT_DOMAIN))->addAttribute("maxlength", 30)->addRule(KT_Field_Validator::REQUIRED, __("Příjmení je povinná položka", KT_DOMAIN))->addRule(KT_Field_Validator::MAX_LENGTH, __("Příjmení může mít maximálně 30 znaků", KT_DOMAIN), 30); } else { $fieldset->addText(self::NAME, __("Jméno*:", KT_DOMAIN))->setPlaceholder(__("Jméno*", KT_DOMAIN))->addAttribute("maxlength", 30)->addRule(KT_Field_Validator::REQUIRED, __("Jméno je povinná položka", KT_DOMAIN))->addRule(KT_Field_Validator::MAX_LENGTH, __("Jméno může mít maximálně 30 znaků", KT_DOMAIN), 30); } $fieldset->addText(self::EMAIL, __("E-mail*:", KT_DOMAIN))->setPlaceholder(__("E-mail*", KT_DOMAIN))->addAttribute("maxlength", 50)->addRule(KT_Field_Validator::REQUIRED, __("E-mail je povinná položka", KT_DOMAIN))->addRule(KT_Field_Validator::EMAIL, __("E-mail je ve špatném tvaru", KT_DOMAIN))->addRule(KT_Field_Validator::MAX_LENGTH, __("E-mail může mít maximálně 50 znaků", KT_DOMAIN), 50); $phoneField = $fieldset->addText(self::PHONE, __("Telefon*:", KT_DOMAIN))->setPlaceholder(__("Telefon*", KT_DOMAIN))->addAttribute("maxlength", 30)->addRule(KT_Field_Validator::REQUIRED, __("Telefon je povinná položka", KT_DOMAIN))->addRule(KT_Field_Validator::MAX_LENGTH, __("Telefon může mít maximálně 30 znaků", KT_DOMAIN), 30); if ($exactedPhone) { $phoneField->addRule(KT_Field_Validator::REGULAR, __("Telefon je ve špatném tvaru", KT_DOMAIN), "^((\\+|0)(420|421) ?)?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}\$"); } $fieldset->addTextarea(self::MESSAGE, __("Zpráva*:", KT_DOMAIN))->setPlaceholder(__("Zpráva*", KT_DOMAIN))->addAttribute("maxlength", 1000)->addRule(KT_Field_Validator::REQUIRED, __("Zpráva je povinná položka", KT_DOMAIN))->addRule(KT_Field_Validator::MAX_LENGTH, __("Zpráva může mít maximálně 1000 znaků", KT_DOMAIN), 1000); $fieldset->addText(self::FAVOURITE, __("Kontrola:", KT_DOMAIN))->setPlaceholder(__("Nevyplňujte, pokud jste člověk", KT_DOMAIN))->addAttrClass("hidden")->addAttribute("maxlength", 30); $fieldset->addWpNonce(self::NONCE, __("Kontrola:", KT_DOMAIN)); return $fieldset; }
public static function getAnalyticsFieldset() { $fieldset = new KT_Form_Fieldset(self::ANALYTICS_FIELDSET, __("Analytika", "ZZZ_ADMIN_DOMAIN")); $fieldset->setPostPrefix(self::ANALYTICS_FIELDSET); $fieldset->addTextarea(self::ANALYTICS_TRACKING_CODE, __("Měřící kód:", "ZZZ_ADMIN_DOMAIN"))->setToolTip(__("Měřící kód(y) Google Tag Manager nebo Analytics, popř. Seznam", "ZZZ_ADMIN_DOMAIN"))->setFilterSanitize(FILTER_DEFAULT); return $fieldset; }