/** * Nastaví případnou parent_page, jejížš děti budou nabídnuty v selectu * * @author Tomáš Kocifaj * @link http://www.ktstudio.cz * * @param int $parentPage */ public function setParentPage($parentPage) { if (KT::isIdFormat($parentPage)) { $this->parentPage = $parentPage; } return $this; }
/** * Vrátí číslo (v podstatě ID) právě na základě ID property, resp. její číselné přípony * * @author Martin Hlaváč * @link http://www.ktstudio.cz * * @return int */ public function getNumber() { $id = $this->getId(); if (KT::issetAndNotEmpty($id)) { $parts = explode("-", $id); $parts = array_reverse($parts); $number = KT::tryGetInt($parts[0]); if (KT::isIdFormat($number)) { return $number; } else { return next_widget_id_number($this->getName()); } } return 0; }
/** * inicializace dat na základě předaného hodnoty v construktoru * * @author Tomáš Kocifaj * @link http://www.ktstudio.cz * * @return \KT_Crud */ private function rowDataInit() { if (!KT::isIdFormat($this->getId())) { return; } global $wpdb; $query = "SELECT * FROM {$this->getTable()} WHERE {$this->getPrimaryKeyColumn()} = %d"; $result = $wpdb->get_row($wpdb->prepare($query, $this->getId()), ARRAY_A); if ($result === null) { $this->addError("Došlo k chybě při výběru dat z DB", $wpdb->last_error); $this->setId(null); return; } $this->setData($result); return $this; }
public function isCompetitiveAdvantagesMaxCount() { return KT::isIdFormat($this->getCompetitiveAdvantagesMaxCount()); }
/** * Nastaví, kolik celkových výsledků bylo při nastavené dotazu zjištěno. * * @author Tomáš Kocifaj * @link http://www.ktstudio.cz * * @param int $countItems * @return \KT_Repository */ protected function setCountItems($countItems) { if (KT::isIdFormat($countItems)) { $countItems = KT::tryGetInt($countItems); $this->countItems = $countItems; } return $this; }
/** * Provede inicializaci uživatele a jeho dat. * * @author Tomáš Kocifaj * @link http://www.ktstudio.cz * * @param int $userId * @return \KT_WP_User_Base_Model * @throws KT_Not_Supported_Exception */ private function wpUserInitById($userId) { if (KT::isIdFormat($userId)) { $wpUser = get_user_by("id", $userId); if ($wpUser) { $this->setWpUser($wpUser); } else { throw new KT_Not_Supported_Exception(__("ID uživatele neexistuje (ve WP databázi).", "KT_CORE_DOMAIN")); } } return $this; }
/** * Vrátí permalink na požadovaný nebo výchozí (RSS) feed podle aktuálního uživatele (ID) * * @author Martin Hlaváč * @link http://www.ktstudio.cz * * @param string $feed * @return mixed string|null */ public function getCurrentUserFeedLink($feed = "") { $id = $this->getCurrentUserId(); if (KT::isIdFormat($id)) { return get_author_feed_link($id, $feed); } return null; }
/** * Inicializuje WP_User objekt na základě post_author * * @author Tomáš Kocifaj * @link http://www.ktstudio.cz * * @return \KT_Post_Type_Presenter_Base */ private function initAuthor() { $authorId = $this->getPost()->post_author; if (KT::isIdFormat($authorId)) { $author = new KT_WP_User_Base_Model($authorId); $this->setAuthor($author); } return $this; }
/** * Provede inicializaci systémového (WP) stdClass objektu s komentářem * * @author Martin Hlaváč * @link http://www.ktstudio.cz */ private function initComment($comment) { if (KT::isIdFormat($comment)) { $this->setComment(get_comment($comment)); } else { $this->setComment($comment); } }
/** * Nastaví HTML parametr tabindex fieldu * * @author Tomáš Kocifaj * @link http://www.ktstudio.cz * * @param type $tabindex * @return \KT_Field */ public function setTabindex($tabindex) { $tabindex = KT::tryGetInt($tabindex); if (KT::isIdFormat($tabindex)) { $this->addAttribute("tabindex", $tabindex); } return $this; }
/** * Provede načtení termu do modelu pomocí jeho ID a taxonomy, kde se term nachází. * * @author Tomáš Kocifaj * @link http://www.ktstudio.cz * * @param int $termId * @param string $taxonomy * @return \KT_WP_Term_Base_Model * @throws KT_Not_Supported_Exception * @throws InvalidArgumentException */ private function initializeByTermid($termId, $taxonomy) { if (!KT::isIdFormat($termId)) { throw new KT_Not_Supported_Exception("First parametr {$termId} is not an ID format"); } $term = get_term_by(self::TERM_ID, $termId, $taxonomy); if (KT::issetAndNotEmpty($term)) { $this->setTerm($term); return $this; } }
/** * Funkcí vrátí všechny parametry příspěvku a to všechny nebo s prefixem * * @author Martin Hlaváč * @link http://www.ktstudio.cz * * @global WP_DB $wpdb * @param int $postId * @param string $prefix * @return array */ public static function getTermsMetas($termId = null, $prefix = null) { global $wpdb; if (KT::isIdFormat($termId)) { $results = array(); $query = "SELECT meta_key, meta_value FROM {$wpdb->termmeta} WHERE term_id = %d"; $prepareData[] = $termId; if (isset($prefix)) { $query .= " AND meta_key LIKE '%s'"; $prepareData[] = "{$prefix}%"; } $metas = $wpdb->get_results($wpdb->prepare($query, $prepareData), ARRAY_A); foreach ($metas as $meta) { $results[$meta["meta_key"]] = $meta["meta_value"]; } return $results; } return null; }
/** * Funkce uloží všechny fieldy objektu do tabuly wp_postmeta v podobě key => value * * @author Tomáš Kocifaj * @link http://www.ktstudio.cz * * @param int $postId = ID postu, v případě nezadání, se bere global $post * @param array $excludeFields - kolekci fieldů, které nemají být ukládány [] => $field->getName() * @return \KT_Form */ public function saveFieldsetToPostMeta($postId, array $excludeFields = array()) { if (is_admin()) { if (!current_user_can('edit_post', $postId)) { return; } if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return $postId; } } if (!KT::isIdFormat($postId) || !$this->hasFieldset()) { return $postId; } /* @var $fieldset \KT_Form_Fieldset */ $this->updateTransientDataForAdminValidation(); foreach ($this->getFieldsets() as $fieldset) { if (!$fieldset->hasFields()) { continue; } if ($fieldset->getSerializeSave()) { $this->saveFieldsetToPostMetaByGroup($postId, $fieldset, $excludeFields); continue; } $this->saveFieldsetToPostMetaOneByOne($postId, $fieldset, $excludeFields); } return $this; }
/** @return boolean */ public function isCategoryId() { return KT::isIdFormat($this->getCategoryId()); }
/** * Nastaví, jaký počet sloupců pro vykreslení metaboxů má použít * Akceptuje pouze 1 nebo 2 * Konstaty self::KT_COLUMN_ONE || self::KT_COLUMN_TWO * * @author Tomáš Kocifaj * @link http://www.ktstudio.cz * * @return \KT_Custom_Metaboxes_Base */ public function setNumberColumns($numberColumns) { if (!KT::isIdFormat($numberColumns) && $numberColumns > self::COLUMN_TWO) { return $this; } $this->NumberColumns = $numberColumns; return $this; }
/** * Vrátí pole IDs na základě hodnoty zadaného parametru, pokud je to možné * * @author Martin Hlaváč * @link http://www.ktstudio.cz * * @param string $idsParamName * @param char $delimiter * @return array */ public static function arrayIdsFromUrlParam($idsParamName, $delimiter = ",") { $ids = array(); $values = self::arrayFromUrlParam($idsParamName, $delimiter); if (KT::arrayIssetAndNotEmpty($values)) { foreach ($values as $value) { if (KT::isIdFormat($value)) { array_push($ids, $value); } } } return $ids; }