public static function getKeyValueFieldset()
 {
     $fieldset = new KT_Form_Fieldset(self::KEY_VALUE_FIELDSET, __("Parametry", "KT_CORE_DOMAIN"));
     $fieldset->addText(self::KEY_VALUE_KEY, __("Klíč:", "KT_CORE_DOMAIN"));
     $fieldset->addText(self::KEY_VALUE_VALUE, __("Hodnota:", "KT_CORE_DOMAIN"));
     return $fieldset;
 }
 public static function getParamsFieldset()
 {
     $fieldset = new KT_Form_Fieldset(self::PARAMS_FIELDSET, __("Parametry", "ZZZ_ADMIN_DOMAIN"));
     $fieldset->setPostPrefix(self::PARAMS_FIELDSET);
     // TODO
     return $fieldset;
 }
 /**
  * @author Jan Pokorný
  * @param KT_Form_Fieldset $fieldset
  * @param array | string $taxonomy
  * @throws Exception
  */
 public function __construct(KT_Form_Fieldset $fieldset, $taxonomy = KT_WP_CATEGORY_KEY)
 {
     /*  if (KT_Termmeta::getIsActive() == false) {
          throw new KT_Not_Supported_Exception("KT Termmeta nejsou aktivní...", "KT_CORE_DOMAIN");
          }
         */
     $this->setTaxonomy($taxonomy);
     if (!kt::issetAndNotEmpty($fieldset->getPostPrefix())) {
         throw new KT_Not_Supported_Exception(__("Pri praci s termmeta je treba, aby fieldset mel setly PostPrefix.", "KT_CORE_DOMAIN"));
     }
     $this->fieldset = $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í 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;
 }
 public static function getPasswordFieldset()
 {
     $fieldset = new KT_Form_Fieldset(self::PASSWORD_FIELDSET, __("Změna hesla", "KT_CORE_DOMAIN"));
     $fieldset->setPostPrefix(self::PASSWORD_FIELDSET);
     $fieldset->addText(self::PASSWORD_OLD, __("Staré heslo*:", "KT_CORE_DOMAIN"))->setInputType(KT_Text_Field::INPUT_PASSWORD)->setAttrMaxlength(20)->addRule(KT_Field_Validator::MIN_LENGTH, __("Staré heslo musí mít mininálně 5 znaků.", "KT_CORE_DOMAIN"), 5)->addRule(KT_Field_Validator::MAX_LENGTH, __("Staré heslo může mít maximálně 20 znaků.", "KT_CORE_DOMAIN"), 20);
     $fieldset->addText(self::PASSWORD_NEW, __("Heslo*:", "KT_CORE_DOMAIN"))->setInputType(KT_Text_Field::INPUT_PASSWORD)->setAttrMaxlength(20)->addRule(KT_Field_Validator::MIN_LENGTH, __("Nové heslo musí mít mininálně 7 znaků.", "KT_CORE_DOMAIN"), 7)->addRule(KT_Field_Validator::MAX_LENGTH, __("Nové heslo může mít maximálně 20 znaků.", "KT_CORE_DOMAIN"), 20);
     $fieldset->addText(self::PASSWORD_CONFIRM, __("Potvrzení hesla*:", "KT_CORE_DOMAIN"))->setInputType(KT_Text_Field::INPUT_PASSWORD)->setAttrMaxlength(20)->addRule(KT_Field_Validator::MIN_LENGTH, __("Potvrzení hesla musí mít mininálně 7 znaků.", "KT_CORE_DOMAIN"), 7)->addRule(KT_Field_Validator::MAX_LENGTH, __("Potvrzení hesla může mít maximálně 20 znaků.", "KT_CORE_DOMAIN"), 20)->setTooltip(__("Zadejte ještě jednou vaše nové heslo.", "KT_CORE_DOMAIN"));
     return $fieldset;
 }
 public static function getParamsFieldset()
 {
     $fieldset = new KT_Form_Fieldset(self::PARAMS_FIELDSET, __("Parametry", "ZZZ_ADMIN_DOMAIN"));
     $fieldset->setPostPrefix(self::PARAMS_FIELDSET);
     $referenceTypes = new KT_ZZZ_Reference_Type_Enum();
     $referenceOptions = KT::arrayRemoveByKey($referenceTypes->getTranslates(), KT_ZZZ_Reference_Type_Enum::NONE);
     $fieldset->addText(self::PARAMS_DATE, __("Datum:", "ZZZ_ADMIN_DOMAIN"));
     $fieldset->addText(self::PARAMS_CLIENT, __("Klient:", "ZZZ_ADMIN_DOMAIN"));
     $fieldset->addCheckbox(self::PARAMS_TYPES, __("Typy:", "ZZZ_ADMIN_DOMAIN"))->setOptionsData($referenceOptions);
     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;
 }
Example #9
0
 /**
  * Vrátí všechny hodnoty fieldsetu jako pole pro hromadné uložení
  * 
  * @author Tomáš Kocifaj
  * @link http://www.ktstudio.cz
  * 
  * @param KT_Form_Fieldset $fieldset
  * @param array $excludeFields
  * @return array
  */
 public function getSavableFieldsetGroupValue(KT_Form_Fieldset $fieldset, array $excludeFields = array())
 {
     /* @var $field \KT_Field */
     foreach ($fieldset->getFields() as $field) {
         if (!in_array($field->getName(), $excludeFields) && KT::issetAndNotEmpty($field->getValue())) {
             $fieldValue = $field->getValue();
             if ($fieldValue !== "" || $fieldValue === 0 || $fieldValue === "0") {
                 $fieldsetData[$field->getName()] = $field->getValue();
             }
         }
     }
     return $fieldsetData;
 }
 /**
  * Vygenruje fieldy z fieldsetu do tabulky fieldů
  * @param KT_Form_Fieldset $fieldset
  * @return string
  */
 private static function getFieldsetHtml(KT_Form_Fieldset $fieldset)
 {
     $fieldWrapp = "<tr class = \"set\">";
     $fieldWrapp .= "<td style=\"width:10px\"><span class=\"dashicons dashicons-move\"></span></td>";
     foreach ($fieldset->getFields() as $field) {
         /* @var $field \KT_Field */
         $fieldWrapp .= "<td>{$field->getField()}</td>";
     }
     $fieldWrapp .= "<td><a href = \"javascript:void(0);\" class=\"kt-remove-fieldset\">" . __("Odebrat", "KT_CORE_ADMIN") . "</a><td>";
     $fieldWrapp .= "</tr>";
     return $fieldWrapp;
 }
Example #11
0
 /**
  * Vytvoří metabox na základě @see KT_Form_Fieldset a dalších pouze nutných parametrů pro datový typ KT_MetaBox_Data_Type_Enum::CRUD i s případnou registrací
  *
  * @author Martin Hlaváč
  * @link http://www.ktstudio.cz
  *
  * @param KT_Form_Fieldset $fieldset
  * @param string $screen
  * @param string $className
  * @param string $idParamName
  * @param boolean $register Označení, zda se po vytvoření MetaBoxů rovnou zavolat i registrace (do systému)
  * @return \KT_MetaBox
  */
 public static function createCrud(KT_Form_Fieldset $fieldset, $screen, $className, $idParamName, $register = true)
 {
     $id = $fieldset->getName();
     $title = $fieldset->getTitle();
     $metaBox = new KT_MetaBox($id, $title, $screen, KT_MetaBox_Data_Type_Enum::CRUD, $fieldset);
     $metaBox->setClassName($className);
     $metaBox->setIdParamName($idParamName);
     if ($register) {
         $metaBox->Register();
     }
     return $metaBox;
 }
 /**
  * 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;
 }