function kt_cron_schedules_metabox_callback()
{
    $schedules = wp_get_schedules();
    if (KT::arrayIssetAndNotEmpty($schedules)) {
        echo "<ol>";
        foreach ($schedules as $key => $values) {
            if (KT::arrayIssetAndNotEmpty($values)) {
                $interval = KT::arrayTryGetValue($values, "interval");
                $display = KT::arrayTryGetValue($values, "display");
                echo "<li><b>{$key}</b> (<i>{$display}</i>) - {$interval} [s]</li>";
            }
        }
        echo "</ol>";
    }
}
 /**
  * Vrátí obsah proužku s potvrzením cookie (v patičce)
  * NENÍ POTŘEBA VOLAT VEŘEJNĚ
  *
  * @author Martin Hlaváč
  * @link http://www.ktstudio.cz
  */
 public static function getCookieStatementHtml()
 {
     $cookueStatementKey = KT::arrayTryGetValue($_COOKIE, self::COOKIE_STATEMENT_KEY);
     if (KT::notIssetOrEmpty($cookueStatementKey)) {
         $text = __("Tyto stránky využívají Cookies. Používáním těchto stránek vyjadřujete souhlas s používáním Cookies.", "KT_CORE_DOMAIN");
         $moreInfoTitle = __("Zjistit více", "KT_CORE_DOMAIN");
         $moreInfoUrl = apply_filters("kt_cookie_statement_more_info_url_filter", "https://www.google.com/policies/technologies/cookies/");
         $confirmTitle = __("OK, rozumím", "KT_CORE_DOMAIN");
         $html = "<span id=\"ktCookieStatementText\">{$text}</span>";
         $html .= "<span id=\"ktCookieStatementMoreInfo\"><a href=\"{$moreInfoUrl}\" title=\"{$moreInfoTitle}\" target=\"_blank\">{$moreInfoTitle}</a></span>";
         $html .= "<span id=\"ktCookieStatementConfirm\">{$confirmTitle}</span>";
         $content = apply_filters("kt_cookie_statement_content_filter", $html);
         $output = "<div id=\"ktCookieStatement\">{$content}</div>";
         $output .= "<noscript><style scoped>#ktCookieStatement { display:none; }</style></noscript>";
         return $output;
     }
     return null;
 }
 private function theColumn($postId, $args)
 {
     $columnType = $args[self::TYPE_PARAM_KEY];
     switch ($columnType) {
         case self::THUMBNAIL_TYPE_KEY:
             if (has_post_thumbnail($postId)) {
                 the_post_thumbnail($args[self::SIZE_PARAM_KEY]);
             } else {
                 echo KT_EMPTY_SYMBOL;
             }
             break;
         case self::POST_PROPERTY_TYPE_KEY:
             $post = get_post($postId);
             if (KT::issetAndNotEmpty($post)) {
                 $property = $args[self::PROPERTY_PARAM_KEY];
                 $value = $post->{$property};
                 $filterFunction = KT::arrayTryGetValue($args, self::FILTER_FUNCTION);
                 if (KT::issetAndNotEmpty($filterFunction)) {
                     $value = apply_filters("{$filterFunction}", $value);
                 }
                 echo $value;
             } else {
                 echo KT_EMPTY_SYMBOL;
             }
             break;
         case self::POST_META_TYPE_KEY:
             $postMeta = get_post_meta($postId, $args[self::METAKEY_PARAM_KEY], true);
             if (isset($postMeta)) {
                 $value = $postMeta;
                 $filterFunction = KT::arrayTryGetValue($args, self::FILTER_FUNCTION);
                 if (KT::issetAndNotEmpty($filterFunction)) {
                     $value = apply_filters($filterFunction, $value);
                 }
                 echo $value;
             } else {
                 echo KT_EMPTY_SYMBOL;
             }
             break;
         case self::TAXONOMY_TYPE_KEY:
             $postType = get_post_type($postId);
             $terms = get_the_terms($postId, $args[self::TAXONOMY_PARAM_KEY]);
             if (!empty($terms)) {
                 foreach ($terms as $term) {
                     $href = "edit.php?post_type={$postType}&{$args[self::TAXONOMY_PARAM_KEY]}={$term->slug}";
                     $name = esc_html(sanitize_term_field("name", $term->name, $term->term_id, $args[self::TAXONOMY_PARAM_KEY], "edit"));
                     $post_terms[] = '<a href="' . $href . '">' . $name . '</a>';
                 }
                 echo join(", ", $post_terms);
             } else {
                 echo KT_EMPTY_SYMBOL;
             }
             break;
         default:
             throw new KT_Not_Supported_Exception(sprintf(__("Typ sloupce: %s", "KT_CORE_DOMAIN"), $columnType));
     }
 }
 protected function getPasword(array $values)
 {
     $form = $this->getForm();
     $password = KT::arrayTryGetValue($values, KT_User_Profile_Config::PASSWORD);
     if (KT::issetAndNotEmpty($password)) {
         $fieldset = $form->getFieldSetByName(KT_User_Profile_Config::USER_PROFILE_FIELDSET);
         $passwordConfirm = KT::arrayTryGetValue($values, KT_User_Profile_Config::PASSWORD_CONFIRM);
         if (KT::issetAndNotEmpty($passwordConfirm)) {
             if ($password === $passwordConfirm) {
                 // OK
                 return $password;
             } else {
                 // hesla se nerovnají
                 $passwordConfirmField = $fieldset->getFieldByName(KT_User_Profile_Config::PASSWORD_CONFIRM);
                 $passwordConfirmField->setErrorMsg("Heslo a jeho potvrzení musejí být stejné.");
                 $form->setError(true);
             }
         } else {
             // heslo je zadané, ale potvrzení ne
             $passwordField = $fieldset->getFieldByName(KT_User_Profile_Config::PASSWORD);
             $passwordField->setErrorMsg("Pro změnu hesla musí být zadané heslo i jeho potvrzení.");
             $form->setError(true);
         }
     }
     return null;
 }
 /** @return KT_ZZZ_Sidebar_Presenter */
 private function initCurrentSidebar()
 {
     global $wp_registered_sidebars;
     $sidebarKey = KT_ZZZ_SIDEBAR_DEFAULT;
     if (KT::arrayIssetAndNotEmpty($wp_registered_sidebars)) {
         foreach ($wp_registered_sidebars as $key => $values) {
             if ($key === $sidebarKey) {
                 $this->setCurrentSidebarName(KT::arrayTryGetValue($values, "name"));
                 break;
             }
         }
     }
     return $this->setCurrentSidebarKey($sidebarKey);
 }
 /**
  * @return string
  */
 public function getAutoVersion()
 {
     if (KT::issetAndNotEmpty($this->autoVersion)) {
         return $this->autoVersion;
     }
     $autoVersionExpiration = $this->getAutoVersionExpiration();
     $isAutoVersionExpiration = $autoVersionExpiration > 0;
     if ($isAutoVersionExpiration) {
         $cachedAutoVersionKey = self::VERSION_CACHE_PREFIX . $this->getId();
         $cachedAutoVersion = KT::arrayTryGetValue($_COOKIE, $cachedAutoVersionKey);
         if (KT::issetAndNotEmpty($cachedAutoVersion)) {
             return $this->autoVersion = $cachedAutoVersion;
         }
     }
     $source = $this->getSource();
     if (KT::issetAndNotEmpty($source)) {
         $sourceHeaders = get_headers($source, 1);
         if (KT::arrayIssetAndNotEmpty($sourceHeaders)) {
             if (stristr($sourceHeaders[0], "200")) {
                 $lastModified = KT::arrayTryGetValue($sourceHeaders, "Last-Modified");
                 if (KT::issetAndNotEmpty($lastModified)) {
                     $lastModifiedDateTime = new \DateTime($lastModified);
                     $autoVersion = $lastModifiedDateTime->getTimestamp();
                     if ($isAutoVersionExpiration) {
                         setcookie($cachedAutoVersionKey, "{$autoVersion}", time() + $autoVersionExpiration, "/");
                     }
                     return $this->autoVersion = $autoVersion;
                 }
             }
         }
     }
     return null;
 }
 /**
  * Zpracování údajů z POSTu (bez spam validace) a případné zodeslání mailu
  * 
  * @author Martin Hlaváč
  * @link http://www.ktstudio.cz
  * 
  * @param array $values
  * @return boolean
  */
 protected function processMail(array $values)
 {
     if (count($values) > 0) {
         $firstName = htmlspecialchars(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::FIRST_NAME));
         $lastName = htmlspecialchars(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::LAST_NAME));
         $name = htmlspecialchars(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::NAME));
         $email = htmlspecialchars(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::EMAIL));
         $phone = htmlspecialchars(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::PHONE));
         $message = htmlspecialchars(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::MESSAGE));
         $fullName = $name ?: "{$firstName} {$lastName}";
         if (KT::issetAndNotEmpty($fullName) && KT::issetAndNotEmpty($email) && KT::issetAndNotEmpty($phone) && KT::issetAndNotEmpty($message) && is_email($email)) {
             $ktWpInfo = new KT_WP_Info();
             $requestUrl = KT::getRequestUrl();
             $requestLink = "<a href=\"{$requestUrl}\">{$requestUrl}</a>";
             $content = sprintf(__("Jméno: %s", "KT_CORE_DOMAIN"), $fullName) . "<br>";
             $content .= sprintf(__("E-mail: %s", "KT_CORE_DOMAIN"), $email) . "<br>";
             $content .= sprintf(__("Telefon: %s", "KT_CORE_DOMAIN"), $phone) . "<br><br>";
             $content .= __("Zpráva:", "KT_CORE_DOMAIN") . "<br><br>{$message}<br><br>";
             $content .= sprintf(__("Provedeno z URL adresy: %s", "KT_CORE_DOMAIN"), $requestLink) . "<br><br>---<br>";
             $content .= sprintf($this->getEmailSignature(), $ktWpInfo->getUrl());
             $contactFormEmail = apply_filters("kt_contact_form_email_filter", $this->getFormEmail());
             $mailer = new KT_Mailer($contactFormEmail, $ktWpInfo->getName(), sprintf($this->getEmailTitle(), $ktWpInfo->getName()));
             $mailer->setReplyToEmail($email);
             $mailer->setContent($content);
             return $sendResult = $mailer->send();
         }
     }
     return false;
 }
 /**
  * Provede povolení, resp. inicializaci proužku s potvrzením cookie (v patičce)
  * NENÍ POTŘEBA VOLAT VEŘEJNĚ
  * 
  * @author Martin Hlaváč
  * @link http://www.ktstudio.cz
  */
 public function renderCookieStatement()
 {
     $cookueStatementKey = KT::arrayTryGetValue($_COOKIE, self::COOKIE_STATEMENT_KEY);
     if (KT::notIssetOrEmpty($cookueStatementKey)) {
         $text = __("Tyto stránky využívají Cookies. Používáním těchto stránek vyjadřujete souhlas s používáním Cookies.", KT_DOMAIN);
         $moreInfoTitle = __("Zjistit více", KT_DOMAIN);
         $moreInfoUrl = apply_filters("kt_cookie_statement_more_info_url_filter", "https://www.google.com/policies/technologies/cookies/");
         $confirmTitle = __("OK, rozumím", KT_DOMAIN);
         $content = "<span id=\"ktCookieStatementText\">{$text}</span>";
         $content .= "<span id=\"ktCookieStatementMoreInfo\"><a href=\"{$moreInfoUrl}\" title=\"{$moreInfoTitle}\" target=\"_blank\">{$moreInfoTitle}</a></span>";
         $content .= "<span id=\"ktCookieStatementConfirm\">{$confirmTitle}</span>";
         echo "<!-- ktcookiestatement W3TC_DYNAMIC_SECURITY -->";
         echo "<div id=\"ktCookieStatement\">";
         echo apply_filters("kt_cookie_statement_content_filter", $content);
         echo "</div>";
         echo "<noscript><style scoped>#ktCookieStatement { display:none; }</style></noscript>";
         echo "<!-- /ktcookiestatement W3TC_DYNAMIC_SECURITY -->";
     }
 }
 private function initParams()
 {
     $this->setOffset(KT::arrayTryGetValue($_REQUEST, "kt_offset"));
     $queriedObject = get_queried_object();
     if (KT::issetAndNotEmpty($queriedObject)) {
         if (property_exists($queriedObject, "term_id")) {
             $this->setCategoryId($queriedObject->term_id);
         }
     } else {
         $this->setCategoryId(KT::arrayTryGetValue($_REQUEST, "kt_category_id"));
     }
 }
 /**
  * Prověří, zda je daná stránka otevřena a jsou na ní odeslány data pomocí POST metody
  * pokud ano, zavede příslušnou akci a provede redirect
  * 
  * @author Tomáš Kocifaj
  * @link http://www.ktstudio.cz
  * 
  * @param string $screenName
  */
 protected function screenUpdatingRedirect($screenName)
 {
     if (array_key_exists("kt-admin-screen-action", $_POST) && array_key_exists("page", $_GET)) {
         $pageSlug = $_GET["page"];
         if ($pageSlug == $this->getSlug()) {
             $saveResult = array(self::SAVE_RESULT_KEY => true, self::REDIRECT_ALLOWED => true);
             $saveResult = apply_filters("kt-custom-metabox-save-{$screenName}", $saveResult);
             if (KT::arrayTryGetValue($saveResult, self::REDIRECT_ALLOWED) == false) {
                 return;
             }
             if (KT::arrayTryGetValue($saveResult, self::SAVE_RESULT_KEY) !== true) {
                 add_action("admin_notices", array($this, "adminNoticesError"));
                 return;
             }
             $urlParams = array("page" => $_GET["page"], self::UPDATED_GET_KEY => true);
             if (array_key_exists("crud", $saveResult)) {
                 $crudInstance = $saveResult["crud"];
                 $urlParams[$crudInstance::ID_COLUMN] = $crudInstance->getId();
                 $urlParams["action"] = "update";
             }
             $adminPermlink = get_admin_url(null, "admin.php");
             $redirectLink = add_query_arg($urlParams, $adminPermlink);
             wp_redirect($redirectLink);
             exit;
         }
     }
 }
 /**
  * Provede odstraní všech zadaných head hodnot
  * Pozn.: netřeba volat veřejně - provede se automaticky v rámci @see \KT_WP_Configurator
  * 
  * @author Martin Hlaváč
  * @link http://www.ktstudio.cz
  * 
  * @return \KT_WP_Head_Remover_Configurator
  */
 public function doRemoveHeads()
 {
     foreach ($this->getHeadRemoverData() as $head => $args) {
         if (KT::arrayIssetAndNotEmpty($args)) {
             $priority = KT::arrayTryGetValue($args, "priority");
             if (KT::tryGetInt($priority)) {
                 $params = KT::arrayTryGetValue($args, "params");
                 if (KT::tryGetInt($priority)) {
                     remove_action("wp_head", "{$head}", $priority, $params);
                 } else {
                     remove_action("wp_head", "{$head}", $priority);
                 }
             }
         } else {
             remove_action("wp_head", "{$head}");
         }
     }
 }
 /**
  * Zpracování údajů z POSTu (bez spam validace) a případné zodeslání mailu
  * 
  * @author Martin Hlaváč
  * @link http://www.ktstudio.cz
  * 
  * @param array $values
  * @return boolean
  */
 protected function processMail(array $values)
 {
     if (count($values) > 0) {
         $firstName = filter_var(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::FIRST_NAME), FILTER_SANITIZE_FULL_SPECIAL_CHARS);
         $lastName = filter_var(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::LAST_NAME), FILTER_SANITIZE_FULL_SPECIAL_CHARS);
         $name = filter_var(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::NAME), FILTER_SANITIZE_FULL_SPECIAL_CHARS);
         $email = filter_var(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::EMAIL), FILTER_SANITIZE_FULL_SPECIAL_CHARS);
         $phone = filter_var(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::PHONE), FILTER_SANITIZE_FULL_SPECIAL_CHARS);
         $message = filter_var(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::MESSAGE), FILTER_SANITIZE_FULL_SPECIAL_CHARS);
         $fullName = $name ?: "{$firstName} {$lastName}";
         if (KT::issetAndNotEmpty($fullName) && KT::issetAndNotEmpty($email) && KT::issetAndNotEmpty($phone) && KT::issetAndNotEmpty($message) && is_email($email)) {
             $ktWpInfo = new KT_WP_Info();
             $content = sprintf(__("Jméno: %s", KT_DOMAIN), $fullName) . "<br />";
             $content .= sprintf(__("E-mail: %s", KT_DOMAIN), $email) . "<br />";
             $content .= sprintf(__("Telefon: %s", KT_DOMAIN), $phone) . "<br /><br />";
             $content .= sprintf(__("Zpráva:", KT_DOMAIN), $message) . "<br /><br />";
             $content .= $message;
             $content .= "<br /><br />---<br />";
             $content .= sprintf(__("Tento e-mail byl vygenerován pomocí kontaktního formuláře na webu: %s", KT_DOMAIN), $ktWpInfo->getUrl());
             $contactFormEmail = apply_filters("kt_contact_form_email_filter", $this->getFormEmail());
             $mailer = new KT_Mailer($contactFormEmail, $ktWpInfo->getName(), sprintf(__("%s - kontakt", KT_DOMAIN), $ktWpInfo->getName()));
             $mailer->setSenderEmail($email);
             $mailer->setSenderName($fullName);
             $mailer->setContent($content);
             return $sendResult = $mailer->send();
         }
     }
     return false;
 }
Beispiel #13
0
 /**
  * Vrátí přímo čistou hodnotu bez zpracování - sanitizace
  *
  * @author Martin Hlaváč
  * @link http://www.ktstudio.cz
  *
  * @return string
  */
 public function getCleanValue()
 {
     if (isset($this->cleanValue)) {
         return $this->cleanValue;
     }
     $name = $this->getName();
     $postPrefix = $this->getPostPrefix();
     if (KT::issetAndNotEmpty($postPrefix)) {
         $postValues = filter_input(INPUT_POST, $postPrefix, FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);
         if (KT::arrayIssetAndNotEmpty($postValues)) {
             $postPrefixValue = KT::arrayTryGetValue($postValues, $name);
             if (isset($postPrefixValue)) {
                 return $this->cleanValue = $postPrefixValue;
             }
         }
         $getValues = filter_input(INPUT_GET, $postPrefix, FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);
         if (KT::arrayIssetAndNotEmpty($getValues)) {
             $getPrefixValue = KT::arrayTryGetValue($getValues, $name);
             if (isset($getPrefixValue)) {
                 return $this->cleanValue = $getPrefixValue;
             }
         }
     }
     $postValue = KT::arrayTryGetValue($_POST, $name);
     if (isset($postValue)) {
         return $this->cleanValue = $postValue;
     }
     $getValue = KT::arrayTryGetValue($_GET, $name);
     if (isset($getValue)) {
         return $this->cleanValue = $getValue;
     }
     $defaultValue = $this->getDefaultValue();
     if (isset($defaultValue)) {
         return $this->cleanValue = $defaultValue;
     }
     return $this->cleanValue = "";
 }