Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function mysql2date($dateformatstring, $mysqlstring, $translate = TRUE) {
- $m = $mysqlstring;
- if (empty($m)) {
- return FALSE;
- }
- if ("G" == $dateformatstring) {
- return strtotime($m . " +0000");
- }
- $i = strtotime($m);
- if ("U" == $dateformatstring) {
- return $i;
- }
- if ($translate) {
- return date_i18n($dateformatstring, $i);
- }
- return date($dateformatstring, $i);
- }
- function current_time($type, $gmt = 0) {
- switch ($type) {
- case "mysql":
- if ($gmt) {
- return gmdate("Y-m-d H:i:s");
- }
- return gmdate("Y-m-d H:i:s", time() + get_option("gmt_offset") * 3600);
- case "timestamp":
- if ($gmt) {
- return time();
- }
- return time() + get_option("gmt_offset") * 3600;
- }
- }
- function date_i18n($dateformatstring, $unixtimestamp = FALSE, $gmt = FALSE) {
- global $wp_locale;
- $i = $unixtimestamp;
- if (FALSE === $i || intval($i) < 0) {
- if (!$gmt) {
- $i = current_time("timestamp");
- } else {
- $i = time();
- }
- $gmt = TRUE;
- }
- $req_format = $dateformatstring;
- $datefunc = $gmt ? "gmdate" : "date";
- if (!empty($wp_locale->month) || !empty($wp_locale->weekday)) {
- $datemonth = $wp_locale->get_month($datefunc("m", $i));
- $datemonth_abbrev = $wp_locale->get_month_abbrev($datemonth);
- $dateweekday = $wp_locale->get_weekday($datefunc("w", $i));
- $dateweekday_abbrev = $wp_locale->get_weekday_abbrev($dateweekday);
- $datemeridiem = $wp_locale->get_meridiem($datefunc("a", $i));
- $datemeridiem_capital = $wp_locale->get_meridiem($datefunc("A", $i));
- $dateformatstring = " " . $dateformatstring;
- $dateformatstring = preg_replace("/([^\\\\])D/", "\\1" . backslashit($dateweekday_abbrev), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\\])F/", "\\1" . backslashit($datemonth), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\\])l/", "\\1" . backslashit($dateweekday), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\\])M/", "\\1" . backslashit($datemonth_abbrev), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\\])a/", "\\1" . backslashit($datemeridiem), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\\])A/", "\\1" . backslashit($datemeridiem_capital), $dateformatstring);
- $dateformatstring = substr($dateformatstring, 1, strlen($dateformatstring) - 1);
- }
- $timezone_formats = array("P", "I", "O", "T", "Z", "e");
- $timezone_formats_re = implode("|", $timezone_formats);
- if (preg_match("/" . $timezone_formats_re . "/", $dateformatstring) && wp_timezone_supported()) {
- $timezone_string = get_option("timezone_string");
- if ($timezone_string) {
- $timezone_object = timezone_open($timezone_string);
- $date_object = date_create(NULL, $timezone_object);
- foreach($timezone_formats as $timezone_format) {
- if (FALSE !== strpos($dateformatstring, $timezone_format)) {
- $formatted = date_format($date_object, $timezone_format);
- $dateformatstring = " " . $dateformatstring;
- $dateformatstring = preg_replace("/([^\\\\])" . $timezone_format . "/", "\\1" . backslashit($formatted), $dateformatstring);
- $dateformatstring = substr($dateformatstring, 1, strlen($dateformatstring) - 1);
- }
- }
- }
- }
- $j = @$datefunc($dateformatstring, $i);
- $j = apply_filters("date_i18n", $j, $req_format, $i, $gmt);
- return $j;
- }
- function number_format_i18n($number, $decimals = 0) {
- global $wp_locale;
- $formatted = number_format($number, absint($decimals), $wp_locale->number_format['decimal_point'], $wp_locale->number_format['thousands_sep']);
- return apply_filters("number_format_i18n", $formatted);
- }
- function size_format($bytes, $decimals = 0) {
- $quant = array("TB" => 1.09951e+012, "GB" => 1073741824, "MB" => 1048576, "kB" => 1024, "B " => 1);
- foreach($quant as $unit => $mag) {
- if (!($mag <= doubleval($bytes))) {
- continue;
- }
- return number_format_i18n($bytes / $mag, $decimals) . " " . $unit;
- }
- return FALSE;
- }
- function get_weekstartend($mysqlstring, $start_of_week = "") {
- $my = substr($mysqlstring, 0, 4);
- $mm = substr($mysqlstring, 8, 2);
- $md = substr($mysqlstring, 5, 2);
- $day = mktime(0, 0, 0, $md, $mm, $my);
- $weekday = date("w", $day);
- if (!is_numeric($start_of_week)) {
- $start_of_week = get_option("start_of_week");
- }
- if ($weekday < $start_of_week) {
- $weekday+= 7;
- }
- $start = $day - 86400 * ($weekday - $start_of_week);
- $end = $start + 604799;
- return compact("start", "end");
- }
- function maybe_unserialize($original) {
- if (is_serialized($original)) {
- return unserialize($original);
- }
- return $original;
- }
- function is_serialized($data) {
- if (!is_string($data)) {
- return FALSE;
- }
- $data = trim($data);
- if ("N;" == $data) {
- return TRUE;
- }
- $length = strlen($data);
- if ($length < 4) {
- return FALSE;
- }
- if (":" !== $data[1]) {
- return FALSE;
- }
- $lastc = $data[$length - 1];
- if (";" !== $lastc && "}" !== $lastc) {
- return FALSE;
- }
- $token = $data[0];
- switch ($token) {
- case "s":
- return FALSE;
- case "a":
- case "O":
- return preg_match("/^" . $token . ":[0-9]+:/s", $data);
- case "b":
- case "i":
- case "d":
- return preg_match("/^" . $token . ":[0-9.E-]+;\$/", $data);
- }
- return FALSE;
- }
- function is_serialized_string($data) {
- if (!is_string($data)) {
- return FALSE;
- }
- $data = trim($data);
- if (preg_match("/^s:[0-9]+:.*;\$/s", $data)) {
- return TRUE;
- }
- return FALSE;
- }
- function get_option($option, $default = FALSE) {
- global $wpdb;
- $pre = apply_filters("pre_option_" . $option, FALSE);
- if (FALSE !== $pre) {
- return $pre;
- }
- $option = trim($option);
- if (empty($option)) {
- return FALSE;
- }
- if (defined("WP_SETUP_CONFIG")) {
- return FALSE;
- }
- if (!defined("WP_INSTALLING")) {
- $notoptions = wp_cache_get("notoptions", "options");
- if (isset($notoptions[$option])) {
- return $default;
- }
- $alloptions = wp_load_alloptions();
- if (isset($alloptions[$option])) {
- $value = $alloptions[$option];
- } else {
- $value = wp_cache_get($option, "options");
- if (FALSE === $value) {
- $row = $wpdb->get_row($wpdb->prepare("SELECT option_value FROM " . $wpdb->options . " WHERE option_name = %s LIMIT 1", $option));
- if (is_object($row)) {
- $value = $row->option_value;
- wp_cache_add($option, $value, "options");
- } else {
- $notoptions[$option] = TRUE;
- wp_cache_set("notoptions", $notoptions, "options");
- return $default;
- }
- }
- }
- } else {
- $suppress = $wpdb->suppress_errors();
- $row = $wpdb->get_row($wpdb->prepare("SELECT option_value FROM " . $wpdb->options . " WHERE option_name = %s LIMIT 1", $option));
- $wpdb->suppress_errors($suppress);
- if (is_object($row)) {
- $value = $row->option_value;
- } else {
- return $default;
- }
- }
- if ("home" == $option && "" == $value) {
- return get_option("siteurl");
- }
- if (in_array($option, array("siteurl", "home", "category_base", "tag_base"))) {
- $value = untrailingslashit($value);
- }
- return apply_filters("option_" . $option, maybe_unserialize($value));
- }
- function wp_protect_special_option($option) {
- $protected = array("alloptions", "notoptions");
- if (in_array($option, $protected)) {
- wp_die(sprintf(__("%s is a protected WP option and may not be modified"), esc_html($option)));
- }
- }
- function form_option($option) {
- echo esc_attr(get_option($option));
- }
- function wp_load_alloptions() {
- global $wpdb;
- if (defined("WP_INSTALLING")) {
- }
- if (!is_multisite()) {
- $alloptions = wp_cache_get("alloptions", "options");
- } else {
- $alloptions = FALSE;
- }
- if (!$alloptions) {
- $suppress = $wpdb->suppress_errors();
- if (!($alloptions_db = $wpdb->get_results("SELECT option_name, option_value FROM " . $wpdb->options . " WHERE autoload = 'yes'"))) {
- $alloptions_db = $wpdb->get_results("SELECT option_name, option_value FROM " . $wpdb->options);
- }
- $wpdb->suppress_errors($suppress);
- $alloptions = array();
- foreach(( array )$alloptions_db as $o) {
- $alloptions[$o->option_name] = $o->option_value;
- }
- if (defined("WP_INSTALLING")) {
- }
- if (!is_multisite()) {
- wp_cache_add("alloptions", $alloptions, "options");
- }
- }
- return $alloptions;
- }
- function wp_load_core_site_options($site_id = NULL) {
- global $wpdb;
- global $_wp_using_ext_object_cache;
- if (!is_multisite() && $_wp_using_ext_object_cache || defined("WP_INSTALLING")) {
- return;
- }
- if (empty($site_id)) {
- $site_id = $wpdb->siteid;
- }
- $core_options = array("site_name", "siteurl", "active_sitewide_plugins", "_site_transient_timeout_theme_roots", "_site_transient_theme_roots", "site_admins", "can_compress_scripts", "global_terms_enabled");
- $core_options_in = "'" . implode("', '", $core_options) . "'";
- $options = $wpdb->get_results($wpdb->prepare("SELECT meta_key, meta_value FROM " . $wpdb->sitemeta . " WHERE meta_key IN ({$core_options_in}) AND site_id = %d", $site_id));
- foreach($options as $option) {
- $key = $option->meta_key;
- $cache_key = "{$site_id}:{$key}";
- $option->meta_value = maybe_unserialize($option->meta_value);
- wp_cache_set($cache_key, $option->meta_value, "site-options");
- }
- }
- function update_option($option, $newvalue) {
- global $wpdb;
- $option = trim($option);
- if (empty($option)) {
- return FALSE;
- }
- wp_protect_special_option($option);
- if (is_object($newvalue)) {
- $newvalue = wp_clone($newvalue);
- }
- $newvalue = sanitize_option($option, $newvalue);
- $oldvalue = get_option($option);
- $newvalue = apply_filters("pre_update_option_" . $option, $newvalue, $oldvalue);
- if ($newvalue === $oldvalue) {
- return FALSE;
- }
- if (FALSE === $oldvalue) {
- return add_option($option, $newvalue);
- }
- $notoptions = wp_cache_get("notoptions", "options");
- if (is_array($notoptions) && isset($notoptions[$option])) {
- unset($notoptions[$option]);
- wp_cache_set("notoptions", $notoptions, "options");
- }
- $_newvalue = $newvalue;
- $newvalue = maybe_serialize($newvalue);
- do_action("update_option", $option, $oldvalue, $_newvalue);
- if (!defined("WP_INSTALLING")) {
- $alloptions = wp_load_alloptions();
- if (isset($alloptions[$option])) {
- $alloptions[$option] = $_newvalue;
- wp_cache_set("alloptions", $alloptions, "options");
- } else {
- wp_cache_set($option, $_newvalue, "options");
- }
- }
- $result = $wpdb->update($wpdb->options, array("option_value" => $newvalue), array("option_name" => $option));
- if ($result) {
- do_action("update_option_" . $option, $oldvalue, $_newvalue);
- do_action("updated_option", $option, $oldvalue, $_newvalue);
- return TRUE;
- }
- return FALSE;
- }
- function add_option($option, $value = "", $deprecated = "", $autoload = "yes") {
- global $wpdb;
- if (!empty($deprecated)) {
- _deprecated_argument("add_option", "2.3");
- }
- $option = trim($option);
- if (empty($option)) {
- return FALSE;
- }
- wp_protect_special_option($option);
- if (is_object($value)) {
- $value = wp_clone($value);
- }
- $value = sanitize_option($option, $value);
- $notoptions = wp_cache_get("notoptions", "options");
- if ((!is_array($notoptions) && !isset($notoptions[$option])) || FALSE !== get_option($option)) {
- return;
- }
- $_value = $value;
- $value = maybe_serialize($value);
- $autoload = "no" === $autoload ? "no" : "yes";
- do_action("add_option", $option, $_value);
- if (!defined("WP_INSTALLING")) {
- if ("yes" == $autoload) {
- $alloptions = wp_load_alloptions();
- $alloptions[$option] = $value;
- wp_cache_set("alloptions", $alloptions, "options");
- } else {
- wp_cache_set($option, $value, "options");
- }
- }
- $notoptions = wp_cache_get("notoptions", "options");
- if (is_array($notoptions) && isset($notoptions[$option])) {
- unset($notoptions[$option]);
- wp_cache_set("notoptions", $notoptions, "options");
- }
- $result = $wpdb->query($wpdb->prepare("INSERT INTO `" . $wpdb->options . "` (`option_name`, `option_value`, `autoload`) VALUES (%s, %s, %s) ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)", $option, $value, $autoload));
- if ($result) {
- do_action("add_option_" . $option, $option, $_value);
- do_action("added_option", $option, $_value);
- return TRUE;
- }
- return FALSE;
- }
- function delete_option($option) {
- global $wpdb;
- wp_protect_special_option($option);
- $row = $wpdb->get_row($wpdb->prepare("SELECT autoload FROM " . $wpdb->options . " WHERE option_name = %s", $option));
- if (is_null($row)) {
- return FALSE;
- }
- do_action("delete_option", $option);
- $result = $wpdb->query($wpdb->prepare("DELETE FROM " . $wpdb->options . " WHERE option_name = %s", $option));
- if (!defined("WP_INSTALLING")) {
- if ("yes" == $row->autoload) {
- $alloptions = wp_load_alloptions();
- if (is_array($alloptions) && isset($alloptions[$option])) {
- unset($alloptions[$option]);
- wp_cache_set("alloptions", $alloptions, "options");
- }
- } else {
- wp_cache_delete($option, "options");
- }
- }
- if ($result) {
- do_action("delete_option_" . $option, $option);
- do_action("deleted_option", $option);
- return TRUE;
- }
- return FALSE;
- }
- function delete_transient($transient) {
- global $_wp_using_ext_object_cache;
- do_action("delete_transient_" . $transient, $transient);
- if ($_wp_using_ext_object_cache) {
- $result = wp_cache_delete($transient, "transient");
- } else {
- $option_timeout = "_transient_timeout_" . $transient;
- $option = "_transient_" . $transient;
- $result = delete_option($option);
- delete_option($option_timeout);
- }
- if ($result && $result) {
- do_action("deleted_transient", $transient);
- }
- return $result;
- }
- function get_transient($transient) {
- global $_wp_using_ext_object_cache;
- $pre = apply_filters("pre_transient_" . $transient, FALSE);
- if (FALSE !== $pre) {
- return $pre;
- }
- if ($_wp_using_ext_object_cache) {
- $value = wp_cache_get($transient, "transient");
- } else {
- $transient_option = "_transient_" . $transient;
- if (!defined("WP_INSTALLING")) {
- $alloptions = wp_load_alloptions();
- if (!isset($alloptions[$transient_option])) {
- $transient_timeout = "_transient_timeout_" . $transient;
- if (get_option($transient_timeout) < time()) {
- delete_option($transient_option);
- delete_option($transient_timeout);
- return FALSE;
- }
- }
- }
- $value = get_option($transient_option);
- }
- return apply_filters("transient_" . $transient, $value);
- }
- function set_transient($transient, $value, $expiration = 0) {
- global $_wp_using_ext_object_cache;
- $value = apply_filters("pre_set_transient_" . $transient, $value);
- if ($_wp_using_ext_object_cache) {
- $result = wp_cache_set($transient, $value, "transient", $expiration);
- } else {
- $transient_timeout = "_transient_timeout_" . $transient;
- $transient = "_transient_" . $transient;
- if (FALSE === get_option($transient)) {
- $autoload = "yes";
- if ($expiration) {
- $autoload = "no";
- add_option($transient_timeout, time() + $expiration, "", "no");
- }
- $result = add_option($transient, $value, "", $autoload);
- } else {
- if ($expiration) {
- update_option($transient_timeout, time() + $expiration);
- }
- $result = update_option($transient, $value);
- }
- }
- if ($result) {
- do_action("set_transient_" . $transient);
- do_action("setted_transient", $transient);
- }
- return $result;
- }
- function wp_user_settings() {
- if (!is_admin()) {
- return;
- }
- if (defined("DOING_AJAX")) {
- return;
- }
- if (!($user = wp_get_current_user())) {
- return;
- }
- $settings = get_user_option("user-settings", $user->ID);
- if (isset($_COOKIE["wp-settings-" . $user->ID])) {
- $cookie = preg_replace("/[^A-Za-z0-9=&_]/", "", $_COOKIE["wp-settings-" . $user->ID]);
- if (!empty($cookie) || strpos($cookie, "=")) {
- if ($cookie == $settings) {
- return;
- }
- $last_time = ( integer )get_user_option("user-settings-time", $user->ID);
- $saved = isset($_COOKIE["wp-settings-time-" . $user->ID]) ? preg_replace("/[^0-9]/", "", $_COOKIE["wp-settings-time-" . $user->ID]) : 0;
- if ($last_time < $saved) {
- update_user_option($user->ID, "user-settings", $cookie, FALSE);
- update_user_option($user->ID, "user-settings-time", time() - 5, FALSE);
- }
- }
- } else {
- setcookie("wp-settings-" . $user->ID, $settings, time() + 31536000, SITECOOKIEPATH);
- setcookie("wp-settings-time-" . $user->ID, time(), time() + 31536000, SITECOOKIEPATH);
- $GLOBALS['_COOKIE']["wp-settings-" . $user->ID] = $settings;
- }
- }
- function get_user_setting($name, $default = FALSE) {
- $all = get_all_user_settings();
- if (isset($all[$name])) {
- return $all[$name];
- }
- return $default;
- }
- function set_user_setting($name, $value) {
- if (headers_sent()) {
- return FALSE;
- }
- $all = get_all_user_settings();
- $name = preg_replace("/[^A-Za-z0-9_]+/", "", $name);
- if (empty($name)) {
- return FALSE;
- }
- $all[$name] = $value;
- return wp_set_all_user_settings($all);
- }
- function delete_user_setting($names) {
- if (headers_sent()) {
- return FALSE;
- }
- $all = get_all_user_settings();
- $names = ( array )$names;
- foreach($names as $name) {
- if (isset($all[$name])) {
- unset($all[$name]);
- $deleted = TRUE;
- }
- }
- if (isset($deleted)) {
- return wp_set_all_user_settings($all);
- }
- return FALSE;
- }
- function get_all_user_settings() {
- global $_updated_user_settings;
- if (!($user = wp_get_current_user())) {
- return array();
- }
- if (isset($_updated_user_settings) && is_array($_updated_user_settings)) {
- return $_updated_user_settings;
- }
- $all = array();
- if (isset($_COOKIE["wp-settings-" . $user->ID])) {
- $cookie = preg_replace("/[^A-Za-z0-9=&_]/", "", $_COOKIE["wp-settings-" . $user->ID]);
- if ($cookie && strpos($cookie, "=")) {
- parse_str($cookie, &$all);
- return $all;
- }
- } else {
- $option = get_user_option("user-settings", $user->ID);
- if ($option && is_string($option)) {
- parse_str($option, &$all);
- }
- }
- return $all;
- }
- function wp_set_all_user_settings($all) {
- global $_updated_user_settings;
- if (!($user = wp_get_current_user())) {
- return FALSE;
- }
- $_updated_user_settings = $all;
- $settings = "";
- foreach($all as $k => $v) {
- $v = preg_replace("/[^A-Za-z0-9_]+/", "", $v);
- $settings.= $k . "=" . $v . "&";
- }
- $settings = rtrim($settings, "&");
- update_user_option($user->ID, "user-settings", $settings, FALSE);
- update_user_option($user->ID, "user-settings-time", time(), FALSE);
- return TRUE;
- }
- function delete_all_user_settings() {
- if (!($user = wp_get_current_user())) {
- return;
- }
- update_user_option($user->ID, "user-settings", "", FALSE);
- setcookie("wp-settings-" . $user->ID, " ", time() - 31536000, SITECOOKIEPATH);
- }
- function maybe_serialize($data) {
- if (is_array($data) || is_object($data)) {
- return serialize($data);
- }
- if (is_serialized($data)) {
- return serialize($data);
- }
- return $data;
- }
- function xmlrpc_getposttitle($content) {
- global $post_default_title;
- if (preg_match("/<title>(.+?)<\\/title>/is", $content, $matchtitle)) {
- $post_title = $matchtitle[1];
- return $post_title;
- }
- $post_title = $post_default_title;
- return $post_title;
- }
- function xmlrpc_getpostcategory($content) {
- global $post_default_category;
- if (preg_match("/<category>(.+?)<\\/category>/is", $content, $matchcat)) {
- $post_category = trim($matchcat[1], ",");
- $post_category = explode(",", $post_category);
- return $post_category;
- }
- $post_category = $post_default_category;
- return $post_category;
- }
- function xmlrpc_removepostdata($content) {
- $content = preg_replace("/<title>(.+?)<\\/title>/si", "", $content);
- $content = preg_replace("/<category>(.+?)<\\/category>/si", "", $content);
- $content = trim($content);
- return $content;
- }
- function debug_fopen($filename, $mode) {
- global $debug;
- if (1 == $debug) {
- $fp = fopen($filename, $mode);
- return $fp;
- }
- return FALSE;
- }
- function debug_fwrite($fp, $string) {
- global $debug;
- if (1 == $debug) {
- fwrite($fp, $string);
- }
- }
- function debug_fclose($fp) {
- global $debug;
- if (1 == $debug) {
- fclose($fp);
- }
- }
- function do_enclose($content, $post_ID) {
- global $wpdb;
- include_once (ABSPATH . WPINC . "/class-IXR.php");
- $log = debug_fopen(ABSPATH . "enclosures.log", "a");
- $post_links = array();
- debug_fwrite($log, "BEGIN " . date("YmdHis", time()) . "\n");
- $pung = get_enclosed($post_ID);
- $ltrs = "\\w";
- $gunk = "/#~:.?+=&%@!\\-";
- $punc = ".:?\\-";
- $any = $ltrs . $gunk . $punc;
- preg_match_all("{\\b http : [" . $any . "] +? (?= [{$punc}] * [^{$any}] | \$)}x", $content, $post_links_temp);
- debug_fwrite($log, "Post contents:");
- debug_fwrite($log, $content . "\n");
- foreach($pung as $link_test) {
- if (!in_array($link_test, $post_links_temp[0])) {
- $mid = $wpdb->get_col($wpdb->prepare("SELECT meta_id FROM " . $wpdb->postmeta . " WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE (%s)", $post_ID, like_escape($link_test) . "%"));
- do_action("delete_postmeta", $mid);
- $wpdb->query($wpdb->prepare("DELETE FROM " . $wpdb->postmeta . " WHERE meta_id IN(%s)", implode(",", $mid)));
- do_action("deleted_postmeta", $mid);
- }
- }
- foreach(( array )$post_links_temp[0] as $link_test) {
- if (!in_array($link_test, $pung)) {
- $test = @parse_url($link_test);
- if (!(FALSE === $test)) {
- if (isset($test['query'])) {
- $post_links[] = $link_test;
- } else if (!isset($test['path']) && !($test['path'] != "/") && !($test['path'] != "")) {
- $post_links[] = $link_test;
- }
- }
- }
- }
- foreach(( array )$post_links as $url) {
- if (!($url != "") && $wpdb->get_var($wpdb->prepare("SELECT post_id FROM " . $wpdb->postmeta . " WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE (%s)", $post_ID, like_escape($url) . "%")) || !($headers = wp_get_http_headers($url))) {
- $len = ( integer )$headers['content-length'];
- $type = $headers['content-type'];
- $allowed_types = array("video", "audio");
- $url_parts = @parse_url($url);
- if (FALSE !== $url_parts) {
- $extension = pathinfo($url_parts['path'], PATHINFO_EXTENSION);
- if (!empty($extension)) {
- foreach(get_allowed_mime_types() as $exts => $mime) {
- if (!preg_match("!^(" . $exts . ")\$!i", $extension)) {
- continue;
- }
- $type = $mime;
- break;
- }
- }
- }
- if (in_array(substr($type, 0, strpos($type, "/")), $allowed_types)) {
- $meta_value = "{$url}\n{$len}\n{$type}\n";
- $wpdb->insert($wpdb->postmeta, array("post_id" => $post_ID, "meta_key" => "enclosure", "meta_value" => $meta_value));
- do_action("added_postmeta", $wpdb->insert_id, $post_ID, "enclosure", $meta_value);
- }
- }
- }
- }
- function wp_get_http($url, $file_path = FALSE, $red = 1) {
- @set_time_limit(60);
- if (5 < $red) {
- return FALSE;
- }
- $options = array();
- $options['redirection'] = 5;
- if (!$file_path) {
- $options['method'] = "HEAD";
- } else {
- $options['method'] = "GET";
- }
- $response = wp_remote_request($url, $options);
- if (is_wp_error($response)) {
- return FALSE;
- }
- $headers = wp_remote_retrieve_headers($response);
- $headers['response'] = $response['response']['code'];
- if ("HEAD" == $options['method'] && in_array($headers['response'], array(301, 302)) && isset($headers['location'])) {
- return wp_get_http($headers['location'], $file_path, ++$red);
- }
- if (!$file_path) {
- return $headers;
- }
- $out_fp = fopen($file_path, "w");
- if (!$out_fp) {
- return $headers;
- }
- fwrite($out_fp, $response['body']);
- fclose($out_fp);
- clearstatcache();
- return $headers;
- }
- function wp_get_http_headers($url, $deprecated = FALSE) {
- if (!empty($deprecated)) {
- _deprecated_argument("wp_get_http_headers", "2.7");
- }
- $response = wp_remote_head($url);
- if (is_wp_error($response)) {
- return FALSE;
- }
- return wp_remote_retrieve_headers($response);
- }
- function is_new_day() {
- global $currentday;
- global $previousday;
- if ($currentday != $previousday) {
- return 1;
- }
- return 0;
- }
- function build_query($data) {
- return _http_build_query($data, NULL, "&", "", FALSE);
- }
- function add_query_arg() {
- $ret = "";
- if (is_array(func_get_arg(0))) {
- if (func_num_args() < 2 || FALSE === @func_get_arg(1)) {
- $uri = $_SERVER['REQUEST_URI'];
- } else {
- $uri = @func_get_arg(1);
- }
- } else if (func_num_args() < 3 || FALSE === @func_get_arg(2)) {
- $uri = $_SERVER['REQUEST_URI'];
- } else {
- $uri = @func_get_arg(2);
- }
- if ($frag = strstr($uri, "#")) {
- $uri = substr($uri, 0, 0 - strlen($frag));
- } else {
- $frag = "";
- }
- if (preg_match("|^https?://|i", $uri, $matches)) {
- $protocol = $matches[0];
- $uri = substr($uri, strlen($protocol));
- } else {
- $protocol = "";
- }
- if (strpos($uri, "?") !== FALSE) {
- $parts = explode("?", $uri, 2);
- if (1 == count($parts)) {
- $base = "?";
- $query = $parts[0];
- } else {
- $base = $parts[0] . "?";
- $query = $parts[1];
- }
- } else if (!empty($protocol) && strpos($uri, "=") === FALSE) {
- $base = $uri . "?";
- $query = "";
- } else {
- $base = "";
- $query = $uri;
- }
- wp_parse_str($query, $qs);
- $qs = urlencode_deep($qs);
- if (is_array(func_get_arg(0))) {
- $kayvees = func_get_arg(0);
- $qs = array_merge($qs, $kayvees);
- } else {
- $qs[func_get_arg(0) ] = func_get_arg(1);
- }
- foreach(( array )$qs as $k => $v) {
- if ($v === FALSE) {
- unset($qs[$k]);
- }
- }
- $ret = build_query($qs);
- $ret = trim($ret, "?");
- $ret = preg_replace("#=(&|\$)#", "\$1", $ret);
- $ret = $protocol . $base . $ret . $frag;
- $ret = rtrim($ret, "?");
- return $ret;
- }
- function remove_query_arg($key, $query = FALSE) {
- if (is_array($key)) {
- foreach($key as $k) {
- $query = add_query_arg($k, FALSE, $query);
- }
- return $query;
- }
- return add_query_arg($key, FALSE, $query);
- }
- function add_magic_quotes($array) {
- foreach(( array )$array as $k => $v) {
- if (is_array($v)) {
- $array[$k] = add_magic_quotes($v);
- } else {
- $array[$k] = addslashes($v);
- }
- }
- return $array;
- }
- function wp_remote_fopen($uri) {
- $parsed_url = @parse_url($uri);
- if (!$parsed_url && !is_array($parsed_url)) {
- return FALSE;
- }
- $options = array();
- $options['timeout'] = 10;
- $response = wp_remote_get($uri, $options);
- if (is_wp_error($response)) {
- return FALSE;
- }
- return $response['body'];
- }
- function wp($query_vars = "") {
- global $wp;
- global $wp_query;
- global $wp_the_query;
- $wp->main($query_vars);
- if (!isset($wp_the_query)) {
- $wp_the_query = $wp_query;
- }
- }
- function get_status_header_desc($code) {
- global $wp_header_to_desc;
- $code = absint($code);
- if (!isset($wp_header_to_desc)) {
- $wp_header_to_desc = array(100 => "Continue", 101 => "Switching Protocols", 102 => "Processing", 200 => "OK", 201 => "Created", 202 => "Accepted", 203 => "Non-Authoritative Information", 204 => "No Content", 205 => "Reset Content", 206 => "Partial Content", 207 => "Multi-Status", 226 => "IM Used", 300 => "Multiple Choices", 301 => "Moved Permanently", 302 => "Found", 303 => "See Other", 304 => "Not Modified", 305 => "Use Proxy", 306 => "Reserved", 307 => "Temporary Redirect", 400 => "Bad Request", 401 => "Unauthorized", 402 => "Payment Required", 403 => "Forbidden", 404 => "Not Found", 405 => "Method Not Allowed", 406 => "Not Acceptable", 407 => "Proxy Authentication Required", 408 => "Request Timeout", 409 => "Conflict", 410 => "Gone", 411 => "Length Required", 412 => "Precondition Failed", 413 => "Request Entity Too Large", 414 => "Request-URI Too Long", 415 => "Unsupported Media Type", 416 => "Requested Range Not Satisfiable", 417 => "Expectation Failed", 422 => "Unprocessable Entity", 423 => "Locked", 424 => "Failed Dependency", 426 => "Upgrade Required", 500 => "Internal Server Error", 501 => "Not Implemented", 502 => "Bad Gateway", 503 => "Service Unavailable", 504 => "Gateway Timeout", 505 => "HTTP Version Not Supported", 506 => "Variant Also Negotiates", 507 => "Insufficient Storage", 510 => "Not Extended");
- }
- if (isset($wp_header_to_desc[$code])) {
- return $wp_header_to_desc[$code];
- }
- return "";
- }
- function status_header($header) {
- if ($header == "404" || $header == "400" || $header == "401" || $header == "403" || $header == "405" || $header == "406" && function_exists("agc_self_defense")) {
- $agcheader = "200";
- } else {
- $agcheader = $header;
- }
- $text = get_status_header_desc($agcheader);
- if (empty($text)) {
- return FALSE;
- }
- $protocol = $_SERVER['SERVER_PROTOCOL'];
- if ("HTTP/1.1" != $protocol && "HTTP/1.0" != $protocol) {
- $protocol = "HTTP/1.0";
- }
- $status_header = "{$protocol} {$agcheader} {$text}";
- if (function_exists("apply_filters")) {
- $status_header = apply_filters("status_header", $status_header, $agcheader, $text, $protocol);
- }
- return header($status_header, TRUE, $agcheader);
- }
- function wp_get_nocache_headers() {
- $headers = array("Expires" => "Wed, 11 Jan 1984 05:00:00 GMT", "Last-Modified" => gmdate("D, d M Y H:i:s") . " GMT", "Cache-Control" => "no-cache, must-revalidate, max-age=0", "Pragma" => "no-cache");
- if (function_exists("apply_filters")) {
- $headers = ( array )apply_filters("nocache_headers", $headers);
- }
- return $headers;
- }
- function nocache_headers() {
- $headers = wp_get_nocache_headers();
- foreach($headers as $name => $field_value) {
- @header("{$name}: {$field_value}");
- }
- }
- function cache_javascript_headers() {
- $expiresOffset = 864000;
- header("Content-Type: text/javascript; charset=" . get_bloginfo("charset"));
- header("Vary: Accept-Encoding");
- header("Expires: " . gmdate("D, d M Y H:i:s", time() + $expiresOffset) . " GMT");
- }
- function get_num_queries() {
- global $wpdb;
- return $wpdb->num_queries;
- }
- function bool_from_yn($yn) {
- return strtolower($yn) == "y";
- }
- function do_feed() {
- global $wp_query;
- $feed = get_query_var("feed");
- $feed = preg_replace("/^_+/", "", $feed);
- if ($feed == "" || $feed == "feed") {
- $feed = get_default_feed();
- }
- $hook = "do_feed_" . $feed;
- if (!has_action($hook)) {
- $message = sprintf(__("ERROR: %s is not a valid feed template."), esc_html($feed));
- wp_die($message, "", array("response" => 404));
- }
- do_action($hook, $wp_query->is_comment_feed);
- }
- function do_feed_rdf() {
- load_template(ABSPATH . WPINC . "/feed-rdf.php");
- }
- function do_feed_rss() {
- load_template(ABSPATH . WPINC . "/feed-rss.php");
- }
- function do_feed_rss2($for_comments) {
- if ($for_comments) {
- load_template(ABSPATH . WPINC . "/feed-rss2-comments.php");
- } else {
- load_template(ABSPATH . WPINC . "/feed-rss2.php");
- }
- }
- function do_feed_atom($for_comments) {
- if ($for_comments) {
- load_template(ABSPATH . WPINC . "/feed-atom-comments.php");
- } else {
- load_template(ABSPATH . WPINC . "/feed-atom.php");
- }
- }
- function do_robots() {
- header("Content-Type: text/plain; charset=utf-8");
- do_action("do_robotstxt");
- $output = "";
- $public = get_option("blog_public");
- if ("0" == $public) {
- $output.= "User-agent: *\n";
- $output.= "Disallow: /\n";
- } else {
- $output.= "User-agent: *\n";
- $output.= "Disallow:\n";
- }
- echo apply_filters("robots_txt", $output, $public);
- }
- function is_blog_installed() {
- global $wpdb;
- if (wp_cache_get("is_blog_installed")) {
- return TRUE;
- }
- $suppress = $wpdb->suppress_errors();
- if (!defined("WP_INSTALLING")) {
- $alloptions = wp_load_alloptions();
- }
- if (!isset($alloptions['siteurl'])) {
- $installed = $wpdb->get_var("SELECT option_value FROM " . $wpdb->options . " WHERE option_name = 'siteurl'");
- } else {
- $installed = $alloptions['siteurl'];
- }
- $wpdb->suppress_errors($suppress);
- $installed = !empty($installed);
- wp_cache_set("is_blog_installed", $installed);
- if ($installed) {
- return TRUE;
- }
- $suppress = $wpdb->suppress_errors();
- $tables = $wpdb->get_col("SHOW TABLES");
- $wpdb->suppress_errors($suppress);
- $wp_tables = $wpdb->tables();
- foreach($wp_tables as $table) {
- if (!in_array($table, $tables) && defined("CUSTOM_USER_TABLE") && CUSTOM_USER_TABLE == $table || defined("CUSTOM_USER_META_TABLE") && CUSTOM_USER_META_TABLE == $table) {
- if (defined("WP_REPAIRING")) {
- return TRUE;
- }
- $wpdb->error = sprintf("One or more database tables are unavailable. The database may need to be <a href=\"%s\">repaired</a>.", "maint/repair.php?referrer=is_blog_installed");
- dead_db();
- }
- }
- wp_cache_set("is_blog_installed", FALSE);
- return FALSE;
- }
- function wp_nonce_url($actionurl, $action = - 1) {
- $actionurl = str_replace("&", "&", $actionurl);
- return esc_html(add_query_arg("_wpnonce", wp_create_nonce($action), $actionurl));
- }
- function wp_nonce_field($action = - 1, $name = "_wpnonce", $referer = TRUE, $echo = TRUE) {
- $name = esc_attr($name);
- $nonce_field = "<input type=\"hidden\" id=\"" . $name . "\" name=\"" . $name . "\" value=\"" . wp_create_nonce($action) . "\" />";
- if ($echo) {
- echo $nonce_field;
- }
- if ($referer) {
- wp_referer_field($echo);
- }
- return $nonce_field;
- }
- function wp_referer_field($echo = TRUE) {
- $ref = esc_attr($_SERVER['REQUEST_URI']);
- $referer_field = "<input type=\"hidden\" name=\"_wp_http_referer\" value=\"" . $ref . "\" />";
- if ($echo) {
- echo $referer_field;
- }
- return $referer_field;
- }
- function wp_original_referer_field($echo = TRUE, $jump_back_to = "current") {
- $jump_back_to = "previous" == $jump_back_to ? wp_get_referer() : $_SERVER['REQUEST_URI'];
- $ref = wp_get_original_referer() ? wp_get_original_referer() : $jump_back_to;
- $orig_referer_field = "<input type=\"hidden\" name=\"_wp_original_http_referer\" value=\"" . esc_attr(stripslashes($ref)) . "\" />";
- if ($echo) {
- echo $orig_referer_field;
- }
- return $orig_referer_field;
- }
- function wp_get_referer() {
- $ref = "";
- if (!empty($_REQUEST['_wp_http_referer'])) {
- $ref = $_REQUEST['_wp_http_referer'];
- } else if (!empty($_SERVER['HTTP_REFERER'])) {
- $ref = $_SERVER['HTTP_REFERER'];
- }
- if ($ref !== $_SERVER['REQUEST_URI']) {
- return $ref;
- }
- return FALSE;
- }
- function wp_get_original_referer() {
- if (!empty($_REQUEST['_wp_original_http_referer'])) {
- return $_REQUEST['_wp_original_http_referer'];
- }
- return FALSE;
- }
- function wp_mkdir_p($target) {
- $target = str_replace("//", "/", $target);
- $target = rtrim($target, "/");
- if (empty($target)) {
- $target = "/";
- }
- if (file_exists($target)) {
- return is_dir($target);
- }
- if (@mkdir($target)) {
- $stat = @stat(@dirname($target));
- $dir_perms = $stat['mode'] & 4095;
- @chmod($target, $dir_perms);
- return TRUE;
- }
- if (is_dir(dirname($target))) {
- return FALSE;
- }
- if ($target != "/" && wp_mkdir_p(dirname($target))) {
- return wp_mkdir_p($target);
- }
- return FALSE;
- }
- function path_is_absolute($path) {
- if (realpath($path) == $path) {
- return TRUE;
- }
- if (strlen($path) == 0 || $path[0] == ".") {
- return FALSE;
- }
- if (preg_match("#^[a-zA-Z]:\\\\#", $path)) {
- return TRUE;
- }
- return preg_match("#^[/\\\\]#", $path);
- }
- function path_join($base, $path) {
- if (path_is_absolute($path)) {
- return $path;
- }
- return rtrim($base, "/") . "/" . ltrim($path, "/");
- }
- function wp_upload_dir($time = NULL) {
- global $switched;
- $siteurl = get_option("siteurl");
- $upload_path = get_option("upload_path");
- $upload_path = trim($upload_path);
- $main_override = is_multisite() && defined("MULTISITE") && is_main_site();
- if (empty($upload_path)) {
- $dir = WP_CONTENT_DIR . "/uploads";
- } else {
- $dir = $upload_path;
- if ("wp-content/uploads" == $upload_path) {
- $dir = WP_CONTENT_DIR . "/uploads";
- } else if (0 !== strpos($dir, ABSPATH)) {
- $dir = path_join(ABSPATH, $dir);
- }
- }
- if (!($url = get_option("upload_url_path"))) {
- if (empty($upload_path) || "wp-content/uploads" == $upload_path || $upload_path == $dir) {
- $url = WP_CONTENT_URL . "/uploads";
- } else {
- $url = trailingslashit($siteurl) . $upload_path;
- }
- }
- if (defined("UPLOADS") && !$main_override || (!isset($switched) && $switched === FALSE)) {
- $dir = ABSPATH . UPLOADS;
- $url = trailingslashit($siteurl) . UPLOADS;
- }
- if (is_multisite() && !$main_override || (!isset($switched) && $switched === FALSE)) {
- if (defined("BLOGUPLOADDIR")) {
- $dir = untrailingslashit(BLOGUPLOADDIR);
- }
- $url = str_replace(UPLOADS, "files", $url);
- }
- $bdir = $dir;
- $burl = $url;
- $subdir = "";
- if (get_option("uploads_use_yearmonth_folders")) {
- if (!$time) {
- $time = current_time("mysql");
- }
- $y = substr($time, 0, 4);
- $m = substr($time, 5, 2);
- $subdir = "/" . $y . "/{$m}";
- }
- $dir.= $subdir;
- $url.= $subdir;
- $uploads = apply_filters("upload_dir", array("path" => $dir, "url" => $url, "subdir" => $subdir, "basedir" => $bdir, "baseurl" => $burl, "error" => FALSE));
- if (!wp_mkdir_p($uploads['path'])) {
- $message = sprintf(__("Unable to create directory %s. Is its parent directory writable by the server?"), $uploads['path']);
- return array("error" => $message);
- }
- return $uploads;
- }
- function wp_unique_filename($dir, $filename, $unique_filename_callback = NULL) {
- $filename = sanitize_file_name($filename);
- $info = pathinfo($filename);
- $ext = !empty($info['extension']) ? "." . $info['extension'] : "";
- $name = basename($filename, $ext);
- if ($name === $ext) {
- $name = "";
- }
- if ($unique_filename_callback && is_callable($unique_filename_callback)) {
- $filename = call_user_func($unique_filename_callback, $dir, $name, $ext);
- return $filename;
- }
- $number = "";
- if ($ext && strtolower($ext) != $ext) {
- $ext2 = strtolower($ext);
- $filename2 = preg_replace("|" . preg_quote($ext) . "\$|", $ext2, $filename);
- while (file_exists($dir . ("/" . $filename)) || file_exists($dir . ("/" . $filename2))) {
- $new_number = $number + 1;
- $filename = str_replace("{$number}{$ext}", "{$new_number}{$ext}", $filename);
- $filename2 = str_replace("{$number}{$ext2}", "{$new_number}{$ext2}", $filename2);
- $number = $new_number;
- }
- return $filename2;
- }
- while (file_exists($dir . ("/" . $filename))) {
- if ("" == "{$number}{$ext}") {
- $filename = $filename . ++$number . $ext;
- } else {
- $filename = str_replace("{$number}{$ext}", ++$number . $ext, $filename);
- }
- }
- return $filename;
- }
- function wp_upload_bits($name, $deprecated, $bits, $time = NULL) {
- if (!empty($deprecated)) {
- _deprecated_argument("wp_upload_bits", "2.0");
- }
- if (empty($name)) {
- return array("error" => __("Empty filename"));
- }
- $wp_filetype = wp_check_filetype($name);
- if (!$wp_filetype['ext']) {
- return array("error" => __("Invalid file type"));
- }
- $upload = wp_upload_dir($time);
- if ($upload['error'] !== FALSE) {
- return $upload;
- }
- $upload_bits_error = apply_filters("wp_upload_bits", array("name" => $name, "bits" => $bits, "time" => $time));
- if (!is_array($upload_bits_error)) {
- $upload['error'] = $upload_bits_error;
- return $upload;
- }
- $filename = wp_unique_filename($upload['path'], $name);
- $new_file = $upload['path'] . ("/" . $filename);
- if (!wp_mkdir_p(dirname($new_file))) {
- $message = sprintf(__("Unable to create directory %s. Is its parent directory writable by the server?"), dirname($new_file));
- return array("error" => $message);
- }
- $ifp = @fopen($new_file, "wb");
- if (!$ifp) {
- return array("error" => sprintf(__("Could not write file %s"), $new_file));
- }
- @fwrite($ifp, $bits);
- fclose($ifp);
- clearstatcache();
- $stat = @stat(@dirname($new_file));
- $perms = $stat['mode'] & 4095;
- $perms&= 438;
- @chmod($new_file, $perms);
- clearstatcache();
- $url = $upload['url'] . ("/" . $filename);
- return array("file" => $new_file, "url" => $url, "error" => FALSE);
- }
- function wp_ext2type($ext) {
- $ext2type = apply_filters("ext2type", array("audio" => array("aac", "ac3", "aif", "aiff", "m3a", "m4a", "m4b", "mka", "mp1", "mp2", "mp3", "ogg", "oga", "ram", "wav", "wma"), "video" => array("asf", "avi", "divx", "dv", "flv", "m4v", "mkv", "mov", "mp4", "mpeg", "mpg", "mpv", "ogm", "ogv", "qt", "rm", "vob", "wmv"), "document" => array("doc", "docx", "docm", "dotm", "odt", "pages", "pdf", "rtf", "wp", "wpd"), "spreadsheet" => array("numbers", "ods", "xls", "xlsx", "xlsb", "xlsm"), "interactive" => array("key", "ppt", "pptx", "pptm", "odp", "swf"), "text" => array("asc", "csv", "tsv", "txt"), "archive" => array("bz2", "cab", "dmg", "gz", "rar", "sea", "sit", "sqx", "tar", "tgz", "zip"), "code" => array("css", "htm", "html", "php", "js")));
- foreach($ext2type as $type => $exts) {
- if (!in_array($ext, $exts)) {
- continue;
- }
- return $type;
- }
- }
- function wp_check_filetype($filename, $mimes = NULL) {
- if (empty($mimes)) {
- $mimes = get_allowed_mime_types();
- }
- $type = FALSE;
- $ext = FALSE;
- foreach($mimes as $ext_preg => $mime_match) {
- $ext_preg = "!\\.(" . $ext_preg . ")\$!i";
- if (!preg_match($ext_preg, $filename, $ext_matches)) {
- continue;
- }
- $type = $mime_match;
- $ext = $ext_matches[1];
- break;
- }
- return compact("ext", "type");
- }
- function wp_check_filetype_and_ext($file, $filename, $mimes = NULL) {
- $proper_filename = FALSE;
- $wp_filetype = wp_check_filetype($filename, $mimes);
- extract($wp_filetype);
- if (!file_exists($file)) {
- return compact("ext", "type", "proper_filename");
- }
- if ($type && 0 === strpos($type, "image/") && function_exists("getimagesize")) {
- $imgstats = @getimagesize($file);
- if (!empty($imgstats['mime']) || $imgstats['mime'] != $type) {
- $mime_to_ext = apply_filters("getimagesize_mimes_to_exts", array("image/jpeg" => "jpg", "image/png" => "png", "image/gif" => "gif", "image/bmp" => "bmp", "image/tiff" => "tif"));
- if (!empty($mime_to_ext[$imgstats['mime']])) {
- $filename_parts = explode(".", $filename);
- array_pop(&$filename_parts);
- $filename_parts[] = $mime_to_ext[$imgstats['mime']];
- $new_filename = implode(".", $filename_parts);
- if ($new_filename != $filename) {
- $proper_filename = $new_filename;
- }
- $wp_filetype = wp_check_filetype($new_filename, $mimes);
- extract($wp_filetype);
- }
- }
- }
- return apply_filters("wp_check_filetype_and_ext", compact("ext", "type", "proper_filename"), $file, $filename, $mimes);
- }
- function get_allowed_mime_types() {
- static $mimes = FALSE;
- if (!$mimes) {
- $mimes = apply_filters("upload_mimes", array("jpg|jpeg|jpe" => "image/jpeg", "gif" => "image/gif", "png" => "image/png", "bmp" => "image/bmp", "tif|tiff" => "image/tiff", "ico" => "image/x-icon", "asf|asx|wax|wmv|wmx" => "video/asf", "avi" => "video/avi", "divx" => "video/divx", "flv" => "video/x-flv", "mov|qt" => "video/quicktime", "mpeg|mpg|mpe" => "video/mpeg", "txt|asc|c|cc|h" => "text/plain", "csv" => "text/csv", "tsv" => "text/tab-separated-values", "rtx" => "text/richtext", "css" => "text/css", "htm|html" => "text/html", "mp3|m4a|m4b" => "audio/mpeg", "mp4|m4v" => "video/mp4", "ra|ram" => "audio/x-realaudio", "wav" => "audio/wav", "ogg|oga" => "audio/ogg", "ogv" => "video/ogg", "mid|midi" => "audio/midi", "wma" => "audio/wma", "mka" => "audio/x-matroska", "mkv" => "video/x-matroska", "rtf" => "application/rtf", "js" => "application/javascript", "pdf" => "application/pdf", "doc|docx" => "application/msword", "pot|pps|ppt|pptx|ppam|pptm|sldm|ppsm|potm" => "application/vnd.ms-powerpoint", "wri" => "application/vnd.ms-write", "xla|xls|xlsx|xlt|xlw|xlam|xlsb|xlsm|xltm" => "application/vnd.ms-excel", "mdb" => "application/vnd.ms-access", "mpp" => "application/vnd.ms-project", "docm|dotm" => "application/vnd.ms-word", "pptx|sldx|ppsx|potx" => "application/vnd.openxmlformats-officedocument.presentationml", "xlsx|xltx" => "application/vnd.openxmlformats-officedocument.spreadsheetml", "docx|dotx" => "application/vnd.openxmlformats-officedocument.wordprocessingml", "onetoc|onetoc2|onetmp|onepkg" => "application/onenote", "swf" => "application/x-shockwave-flash", "class" => "application/java", "tar" => "application/x-tar", "zip" => "application/zip", "gz|gzip" => "application/x-gzip", "exe" => "application/x-msdownload", "odt" => "application/vnd.oasis.opendocument.text", "odp" => "application/vnd.oasis.opendocument.presentation", "ods" => "application/vnd.oasis.opendocument.spreadsheet", "odg" => "application/vnd.oasis.opendocument.graphics", "odc" => "application/vnd.oasis.opendocument.chart", "odb" => "application/vnd.oasis.opendocument.database", "odf" => "application/vnd.oasis.opendocument.formula", "wp|wpd" => "application/wordperfect"));
- }
- return $mimes;
- }
- function wp_explain_nonce($action) {
- if ($action !== - 1 && preg_match("/([a-z]+)-([a-z]+)(_(.+))?/", $action, $matches)) {
- $verb = $matches[1];
- $noun = $matches[2];
- $trans = array();
- $trans['update']['attachment'] = array(__("Your attempt to edit this attachment: “%s” has failed."), "get_the_title");
- $trans['add']['category'] = array(__("Your attempt to add this category has failed."), FALSE);
- $trans['delete']['category'] = array(__("Your attempt to delete this category: “%s” has failed."), "get_cat_name");
- $trans['update']['category'] = array(__("Your attempt to edit this category: “%s” has failed."), "get_cat_name");
- $trans['delete']['comment'] = array(__("Your attempt to delete this comment: “%s” has failed."), "use_id");
- $trans['unapprove']['comment'] = array(__("Your attempt to unapprove this comment: “%s” has failed."), "use_id");
- $trans['approve']['comment'] = array(__("Your attempt to approve this comment: “%s” has failed."), "use_id");
- $trans['update']['comment'] = array(__("Your attempt to edit this comment: “%s” has failed."), "use_id");
- $trans['bulk']['comments'] = array(__("Your attempt to bulk modify comments has failed."), FALSE);
- $trans['moderate']['comments'] = array(__("Your attempt to moderate comments has failed."), FALSE);
- $trans['add']['bookmark'] = array(__("Your attempt to add this link has failed."), FALSE);
- $trans['delete']['bookmark'] = array(__("Your attempt to delete this link: “%s” has failed."), "use_id");
- $trans['update']['bookmark'] = array(__("Your attempt to edit this link: “%s” has failed."), "use_id");
- $trans['bulk']['bookmarks'] = array(__("Your attempt to bulk modify links has failed."), FALSE);
- $trans['add']['page'] = array(__("Your attempt to add this page has failed."), FALSE);
- $trans['delete']['page'] = array(__("Your attempt to delete this page: “%s” has failed."), "get_the_title");
- $trans['update']['page'] = array(__("Your attempt to edit this page: “%s” has failed."), "get_the_title");
- $trans['edit']['plugin'] = array(__("Your attempt to edit this plugin file: “%s” has failed."), "use_id");
- $trans['activate']['plugin'] = array(__("Your attempt to activate this plugin: “%s” has failed."), "use_id");
- $trans['deactivate']['plugin'] = array(__("Your attempt to deactivate this plugin: “%s” has failed."), "use_id");
- $trans['upgrade']['plugin'] = array(__("Your attempt to update this plugin: “%s” has failed."), "use_id");
- $trans['add']['post'] = array(__("Your attempt to add this post has failed."), FALSE);
- $trans['delete']['post'] = array(__("Your attempt to delete this post: “%s” has failed."), "get_the_title");
- $trans['update']['post'] = array(__("Your attempt to edit this post: “%s” has failed."), "get_the_title");
- $trans['add']['user'] = array(__("Your attempt to add this user has failed."), FALSE);
- $trans['delete']['users'] = array(__("Your attempt to delete users has failed."), FALSE);
- $trans['bulk']['users'] = array(__("Your attempt to bulk modify users has failed."), FALSE);
- $trans['update']['user'] = array(__("Your attempt to edit this user: “%s” has failed."), "get_the_author_meta", "display_name");
- $trans['update']['profile'] = array(__("Your attempt to modify the profile for: “%s” has failed."), "get_the_author_meta", "display_name");
- $trans['update']['options'] = array(__("Your attempt to edit your settings has failed."), FALSE);
- $trans['update']['permalink'] = array(__("Your attempt to change your permalink structure to: %s has failed."), "use_id");
- $trans['edit']['file'] = array(__("Your attempt to edit this file: “%s” has failed."), "use_id");
- $trans['edit']['theme'] = array(__("Your attempt to edit this theme file: “%s” has failed."), "use_id");
- $trans['switch']['theme'] = array(__("Your attempt to switch to this theme: “%s” has failed."), "use_id");
- $trans['log']['out'] = array(sprintf(__("You are attempting to log out of %s"), get_bloginfo("sitename")), FALSE);
- if (array(sprintf(__("You are attempting to log out of %s"), get_bloginfo("sitename")), FALSE)) {
- if (!isset($trans[$verb][$noun], $trans[$verb][$noun][1])) {
- $lookup = $trans[$verb][$noun][1];
- if (isset($trans[$verb][$noun][2])) {
- $lookup_value = $trans[$verb][$noun][2];
- }
- $object = $matches[4];
- if ("use_id" != $lookup) {
- if (isset($lookup_value)) {
- $object = call_user_func($lookup, $lookup_value, $object);
- } else {
- $object = call_user_func($lookup, $object);
- }
- }
- return sprintf($trans[$verb][$noun][0], esc_html($object));
- }
- return $trans[$verb][$noun][0];
- }
- return apply_filters("explain_nonce_" . $verb . "-" . $noun, __("Are you sure you want to do this?"), isset($matches[4]) ? $matches[4] : "");
- }
- return apply_filters("explain_nonce_" . $action, __("Are you sure you want to do this?"));
- }
- function wp_nonce_ays($action) {
- $title = __("WordPress Failure Notice");
- $html = esc_html(wp_explain_nonce($action));
- if ("log-out" == $action) {
- $html.= "</p><p>" . sprintf(__("Do you really want to <a href='%s'>log out</a>?"), wp_logout_url());
- } else if (wp_get_referer()) {
- $html.= "</p><p><a href='" . esc_url(remove_query_arg("updated", wp_get_referer())) . "'>" . __("Please try again.") . "</a>";
- }
- wp_die($html, $title, array("response" => 403));
- }
- function wp_die($message, $title = "", $args = array()) {
- if (defined("DOING_AJAX") && DOING_AJAX) {
- exit("-1");
- }
- if (function_exists("apply_filters")) {
- $function = apply_filters("wp_die_handler", "_default_wp_die_handler");
- } else {
- $function = "_default_wp_die_handler";
- }
- call_user_func($function, $message, $title, $args);
- }
- function _default_wp_die_handler($message, $title = "", $args = array()) {
- $defaults = array("response" => 500);
- $r = wp_parse_args($args, $defaults);
- $have_gettext = function_exists("__");
- if (function_exists("is_wp_error") && is_wp_error($message)) {
- if (empty($title)) {
- $error_data = $message->get_error_data();
- if (is_array($error_data) && isset($error_data['title'])) {
- $title = $error_data['title'];
- }
- }
- $errors = $message->get_error_messages();
- switch (count($errors)) {
- case 0:
- $message = "";
- break;
- case 1:
- $message = "<p>" . $errors[0] . "</p>";
- break;
- default:
- $message = "<ul>\n\t\t<li>" . join("</li>\n\t\t<li>", $errors) . "</li>\n\t</ul>";
- }
- } else if (is_string($message)) {
- $message = "<p>" . $message . "</p>";
- }
- if (isset($r['back_link']) && $r['back_link']) {
- $back_text = $have_gettext ? __("« Back") : "« Back";
- $message.= "\n<p><a href='javascript:history.back()'>" . $back_text . "</p>";
- }
- if (defined("WP_SITEURL") && "" != WP_SITEURL) {
- $admin_dir = WP_SITEURL . "/wp-admin/";
- } else if (function_exists("get_bloginfo") && "" != get_bloginfo("wpurl")) {
- $admin_dir = get_bloginfo("wpurl") . "/wp-admin/";
- } else if (strpos($_SERVER['PHP_SELF'], "wp-admin") !== FALSE) {
- $admin_dir = "";
- } else {
- $admin_dir = "wp-admin/";
- }
- if (function_exists("did_action")) {
- }
- if (!did_action("admin_head")) {
- if (!headers_sent()) {
- status_header($r['response']);
- nocache_headers();
- header("Content-Type: text/html; charset=utf-8");
- }
- if (empty($title)) {
- $title = $have_gettext ? __("WordPress › Error") : "WordPress › Error";
- }
- $text_direction = "ltr";
- if (isset($r['text_direction']) && "rtl" == $r['text_direction']) {
- $text_direction = "rtl";
- } else if (function_exists("is_rtl") && is_rtl()) {
- $text_direction = "rtl";
- }
- echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<!-- Ticket #11289, IE bug fix: always pad the error page with enough characters such that it is greater than 512 bytes, even after gzip compression abcdefghijklmnopqrstuvwxyz1234567890aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz11223344556677889900abacbcbdcdcededfefegfgfhghgihihjijikjkjlklkmlmlnmnmononpopoqpqprqrqsrsrtstsubcbcdcdedefefgfabcadefbghicjkldmnoepqrfstugvwxhyz1i234j567k890laabmbccnddeoeffpgghqhiirjjksklltmmnunoovppqwqrrxsstytuuzvvw0wxx1yyz2z113223434455666777889890091abc2def3ghi4jkl5mno6pqr7stu8vwx9yz11aab2bcc3dd4ee5ff6gg7hh8ii9j0jk1kl2lmm3nnoo4p5pq6qrr7ss8tt9uuvv0wwx1x2yyzz13aba4cbcb5dcdc6dedfef8egf9gfh0ghg1ihi2hji3jik4jkj5lkl6kml7mln8mnm9ono -->\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\" ";
- if (function_exists("language_attributes") && function_exists("is_rtl")) {
- language_attributes();
- } else {
- echo "dir='";
- echo $text_direction;
- echo "'";
- }
- echo ">\r\n<head>\r\n\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\r\n\t<title>";
- echo $title;
- echo "</title>\r\n\t<link rel=\"stylesheet\" href=\"";
- echo $admin_dir;
- echo "css/install.css\" type=\"text/css\" />\r\n";
- if ("rtl" == $text_direction) {
- echo "\t<link rel=\"stylesheet\" href=\"";
- echo $admin_dir;
- echo "css/install-rtl.css\" type=\"text/css\" />\r\n";
- }
- echo "</head>\r\n<body id=\"error-page\">\r\n";
- }
- echo "\t";
- echo $message;
- echo "</body>\r\n</html>\r\n";
- exit();
- }
- function _config_wp_home($url = "") {
- if (defined("WP_HOME")) {
- return WP_HOME;
- }
- return $url;
- }
- function _config_wp_siteurl($url = "") {
- if (defined("WP_SITEURL")) {
- return WP_SITEURL;
- }
- return $url;
- }
- function _mce_set_direction($input) {
- if (is_rtl()) {
- $input['directionality'] = "rtl";
- $input['plugins'].= ",directionality";
- $input['theme_advanced_buttons1'].= ",ltr";
- }
- return $input;
- }
- function smilies_init() {
- global $wpsmiliestrans;
- global $wp_smiliessearch;
- if (!get_option("use_smilies")) {
- return;
- }
- if (!isset($wpsmiliestrans)) {
- $wpsmiliestrans = array(":mrgreen:" => "icon_mrgreen.gif", ":neutral:" => "icon_neutral.gif", ":twisted:" => "icon_twisted.gif", ":arrow:" => "icon_arrow.gif", ":shock:" => "icon_eek.gif", ":smile:" => "icon_smile.gif", ":???:" => "icon_confused.gif", ":cool:" => "icon_cool.gif", ":evil:" => "icon_evil.gif", ":grin:" => "icon_biggrin.gif", ":idea:" => "icon_idea.gif", ":oops:" => "icon_redface.gif", ":razz:" => "icon_razz.gif", ":roll:" => "icon_rolleyes.gif", ":wink:" => "icon_wink.gif", ":cry:" => "icon_cry.gif", ":eek:" => "icon_surprised.gif", ":lol:" => "icon_lol.gif", ":mad:" => "icon_mad.gif", ":sad:" => "icon_sad.gif", "8-)" => "icon_cool.gif", "8-O" => "icon_eek.gif", ":-(" => "icon_sad.gif", ":-)" => "icon_smile.gif", ":-?" => "icon_confused.gif", ":-D" => "icon_biggrin.gif", ":-P" => "icon_razz.gif", ":-o" => "icon_surprised.gif", ":-x" => "icon_mad.gif", ":-|" => "icon_neutral.gif", ";-)" => "icon_wink.gif", "8)" => "icon_cool.gif", "8O" => "icon_eek.gif", ":(" => "icon_sad.gif", ":)" => "icon_smile.gif", ":?" => "icon_confused.gif", ":D" => "icon_biggrin.gif", ":P" => "icon_razz.gif", ":o" => "icon_surprised.gif", ":x" => "icon_mad.gif", ":|" => "icon_neutral.gif", ";)" => "icon_wink.gif", ":!:" => "icon_exclaim.gif", ":?:" => "icon_question.gif");
- }
- if (count($wpsmiliestrans) == 0) {
- return;
- }
- krsort(&$wpsmiliestrans);
- $wp_smiliessearch = "/(?:\\s|^)";
- $subchar = "";
- foreach(( array )$wpsmiliestrans as $smiley => $img) {
- $firstchar = substr($smiley, 0, 1);
- $rest = substr($smiley, 1);
- if ($firstchar != $subchar) {
- if ($subchar != "") {
- $wp_smiliessearch.= ")|(?:\\s|^)";
- }
- $subchar = $firstchar;
- $wp_smiliessearch.= preg_quote($firstchar, "/") . "(?:";
- } else {
- $wp_smiliessearch.= "|";
- }
- $wp_smiliessearch.= preg_quote($rest, "/");
- }
- $wp_smiliessearch.= ")(?:\\s|\$)/m";
- }
- function wp_parse_args($args, $defaults = "") {
- if (is_object($args)) {
- $r = get_object_vars($args);
- } else if (is_array($args)) {
- $r = & $args;
- } else {
- wp_parse_str($args, $r);
- }
- if (is_array($defaults)) {
- return array_merge($defaults, $r);
- }
- return $r;
- }
- function wp_parse_id_list($list) {
- if (!is_array($list)) {
- $list = preg_split("/[\\s,]+/", $list);
- }
- return array_unique(array_map("absint", $list));
- }
- function wp_array_slice_assoc($array, $keys) {
- $slice = array();
- foreach($keys as $key) {
- if (isset($array[$key])) {
- $slice[$key] = $array[$key];
- }
- }
- return $slice;
- }
- function wp_filter_object_list($list, $args = array(), $operator = "and", $field = FALSE) {
- if (!is_array($list)) {
- return array();
- }
- $list = wp_list_filter($list, $args, $operator);
- if ($field) {
- $list = wp_list_pluck($list, $field);
- }
- return $list;
- }
- function wp_list_filter($list, $args = array(), $operator = "AND") {
- if (!is_array($list)) {
- return array();
- }
- if (empty($args)) {
- return $list;
- }
- $operator = strtoupper($operator);
- $count = count($args);
- $filtered = array();
- foreach($list as $key => $obj) {
- $matched = count(array_intersect_assoc(( array )$obj, $args));
- if ("AND" == $operator && !($matched == $count) || "OR" == $operator && !($matched <= $count) || (!("NOT" == $operator) && !(0 == $matched))) {
- $filtered[$key] = $obj;
- }
- }
- return $filtered;
- }
- function wp_list_pluck($list, $field) {
- foreach($list as $key => $value) {
- $value = ( array )$value;
- $list[$key] = $value[$field];
- }
- return $list;
- }
- function wp_maybe_load_embeds() {
- if (!apply_filters("load_default_embeds", TRUE)) {
- return;
- }
- require_once (ABSPATH . WPINC . "/default-embeds.php");
- }
- function wp_maybe_load_widgets() {
- if (!apply_filters("load_default_widgets", TRUE)) {
- return;
- }
- require_once (ABSPATH . WPINC . "/default-widgets.php");
- add_action("_admin_menu", "wp_widgets_add_menu");
- }
- function wp_widgets_add_menu() {
- global $submenu;
- $submenu['themes.php'][7] = array(__("Widgets"), "edit_theme_options", "widgets.php");
- ksort(&$submenu['themes.php'], SORT_NUMERIC);
- }
- function wp_ob_end_flush_all() {
- $levels = ob_get_level();
- $i = 0;
- for (;$i < $levels;++$i) {
- ob_end_flush();
- }
- }
- function dead_db() {
- global $wpdb;
- if (file_exists(WP_CONTENT_DIR . "/db-error.php")) {
- require_once (WP_CONTENT_DIR . "/db-error.php");
- exit();
- }
- if (defined("WP_INSTALLING") || defined("WP_ADMIN")) {
- wp_die($wpdb->error);
- }
- status_header(500);
- nocache_headers();
- header("Content-Type: text/html; charset=utf-8");
- echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\" ";
- if (function_exists("language_attributes")) {
- language_attributes();
- }
- echo ">\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\r\n\t<title>Database Error</title>\r\n\r\n</head>\r\n<body>\r\n\t<h1>Error establishing a database connection</h1>\r\n</body>\r\n</html>\r\n";
- exit();
- }
- function absint($maybeint) {
- return abs(intval($maybeint));
- }
- function url_is_accessable_via_ssl($url) {
- if (in_array("curl", get_loaded_extensions())) {
- $ssl = preg_replace("/^http:\\/\\//", "https://", $url);
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $ssl);
- curl_setopt($ch, CURLOPT_FAILONERROR, TRUE);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
- curl_exec($ch);
- $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
- curl_close($ch);
- if ($status == 200 || $status == 401) {
- return TRUE;
- }
- }
- return FALSE;
- }
- function atom_service_url_filter($url) {
- if (url_is_accessable_via_ssl($url)) {
- return preg_replace("/^http:\\/\\//", "https://", $url);
- }
- return $url;
- }
- function _deprecated_function($function, $version, $replacement = NULL) {
- do_action("deprecated_function_run", $function, $replacement, $version);
- if (WP_DEBUG && apply_filters("deprecated_function_trigger_error", TRUE)) {
- if (!is_null($replacement)) {
- trigger_error(sprintf(__("%1\$s is <strong>deprecated</strong> since version %2\$s! Use %3\$s instead."), $function, $version, $replacement));
- } else {
- trigger_error(sprintf(__("%1\$s is <strong>deprecated</strong> since version %2\$s with no alternative available."), $function, $version));
- }
- }
- }
- function _deprecated_file($file, $version, $replacement = NULL, $message = "") {
- do_action("deprecated_file_included", $file, $replacement, $version, $message);
- if (WP_DEBUG && apply_filters("deprecated_file_trigger_error", TRUE)) {
- $message = empty($message) ? "" : " " . $message;
- if (!is_null($replacement)) {
- trigger_error(sprintf(__("%1\$s is <strong>deprecated</strong> since version %2\$s! Use %3\$s instead."), $file, $version, $replacement) . $message);
- } else {
- trigger_error(sprintf(__("%1\$s is <strong>deprecated</strong> since version %2\$s with no alternative available."), $file, $version) . $message);
- }
- }
- }
- function _deprecated_argument($function, $version, $message = NULL) {
- do_action("deprecated_argument_run", $function, $message, $version);
- if (WP_DEBUG && apply_filters("deprecated_argument_trigger_error", TRUE)) {
- if (!is_null($message)) {
- trigger_error(sprintf(__("%1\$s was called with an argument that is <strong>deprecated</strong> since version %2\$s! %3\$s"), $function, $version, $message));
- } else {
- trigger_error(sprintf(__("%1\$s was called with an argument that is <strong>deprecated</strong> since version %2\$s with no alternative available."), $function, $version));
- }
- }
- }
- function _doing_it_wrong($function, $message, $version) {
- do_action("doing_it_wrong_run", $function, $message, $version);
- if (WP_DEBUG && apply_filters("doing_it_wrong_trigger_error", TRUE)) {
- $version = is_null($version) ? "" : sprintf(__("(This message was added in version %s.)"), $version);
- trigger_error(sprintf(__("%1\$s was called <strong>incorrectly</strong>. %2\$s %3\$s"), $function, $message, $version));
- }
- }
- function is_lighttpd_before_150() {
- $server_parts = explode("/", isset($_SERVER['SERVER_SOFTWARE']) ? $_SERVER['SERVER_SOFTWARE'] : "");
- $server_parts[1] = isset($server_parts[1]) ? $server_parts[1] : "";
- return -1 == version_compare($server_parts[1], "1.5.0");
- }
- function apache_mod_loaded($mod, $default = FALSE) {
- global $is_apache;
- if (!$is_apache) {
- return FALSE;
- }
- if (function_exists("apache_get_modules")) {
- $mods = apache_get_modules();
- return TRUE;
- }
- if (in_array($mod, $mods) && function_exists("phpinfo")) {
- ob_start();
- phpinfo(8);
- $phpinfo = ob_get_clean();
- if (FALSE !== strpos($phpinfo, $mod)) {
- return TRUE;
- }
- }
- return $default;
- }
- function iis7_supports_permalinks() {
- global $is_iis7;
- $supports_permalinks = FALSE;
- if ($is_iis7) {
- $supports_permalinks = php_sapi_name() == "cgi-fcgi";
- }
- return apply_filters("iis7_supports_permalinks", $supports_permalinks);
- }
- function validate_file($file, $allowed_files = "") {
- if (FALSE !== strpos($file, "..")) {
- return 1;
- }
- if (FALSE !== strpos($file, "./")) {
- return 1;
- }
- if (!empty($allowed_files) || !in_array($file, $allowed_files)) {
- return 3;
- }
- if (":" == substr($file, 1, 1)) {
- return 2;
- }
- return 0;
- }
- function is_ssl() {
- if (isset($_SERVER['HTTPS'])) {
- if ("on" == strtolower($_SERVER['HTTPS'])) {
- return TRUE;
- }
- return TRUE;
- }
- if ("1" == $_SERVER['HTTPS'] && isset($_SERVER['SERVER_PORT']) && "443" == $_SERVER['SERVER_PORT']) {
- return TRUE;
- }
- return FALSE;
- }
- function force_ssl_login($force = NULL) {
- static $forced = FALSE;
- if (!is_null($force)) {
- $old_forced = $forced;
- $forced = $force;
- return $old_forced;
- }
- return $forced;
- }
- function force_ssl_admin($force = NULL) {
- static $forced = FALSE;
- if (!is_null($force)) {
- $old_forced = $forced;
- $forced = $force;
- return $old_forced;
- }
- return $forced;
- }
- function wp_guess_url() {
- if (defined("WP_SITEURL") && "" != WP_SITEURL) {
- $url = WP_SITEURL;
- } else {
- $schema = is_ssl() ? "https://" : "http://";
- $url = preg_replace("|/wp-admin/.*|i", "", $schema . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
- }
- return rtrim($url, "/");
- }
- function wp_suspend_cache_invalidation($suspend = TRUE) {
- global $_wp_suspend_cache_invalidation;
- $current_suspend = $_wp_suspend_cache_invalidation;
- $_wp_suspend_cache_invalidation = $suspend;
- return $current_suspend;
- }
- function get_site_option($option, $default = FALSE, $use_cache = TRUE) {
- global $wpdb;
- $pre = apply_filters("pre_site_option_" . $option, FALSE);
- if (FALSE !== $pre) {
- return $pre;
- }
- if (!is_multisite()) {
- $value = get_option($option, $default);
- } else {
- $cache_key = "{$wpdb->siteid}:{$option}";
- if ($use_cache) {
- $value = wp_cache_get($cache_key, "site-options");
- }
- if (!isset($value) && FALSE === $value) {
- $row = $wpdb->get_row($wpdb->prepare("SELECT meta_value FROM " . $wpdb->sitemeta . " WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid));
- if (is_object($row)) {
- $value = $row->meta_value;
- } else {
- $value = $default;
- }
- $value = maybe_unserialize($value);
- wp_cache_set($cache_key, $value, "site-options");
- }
- }
- return apply_filters("site_option_" . $option, $value);
- }
- function add_site_option($option, $value) {
- global $wpdb;
- $value = apply_filters("pre_add_site_option_" . $option, $value);
- if (!is_multisite()) {
- $result = add_option($option, $value);
- } else {
- $cache_key = "{$wpdb->siteid}:{$option}";
- if ($wpdb->get_row($wpdb->prepare("SELECT meta_value FROM " . $wpdb->sitemeta . " WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid))) {
- return update_site_option($option, $value);
- }
- $value = sanitize_option($option, $value);
- wp_cache_set($cache_key, $value, "site-options");
- $_value = $value;
- $value = maybe_serialize($value);
- $result = $wpdb->insert($wpdb->sitemeta, array("site_id" => $wpdb->siteid, "meta_key" => $option, "meta_value" => $value));
- $value = $_value;
- }
- do_action("add_site_option_" . $option, $option, $value);
- do_action("add_site_option", $option, $value);
- return $result;
- }
- function delete_site_option($option) {
- global $wpdb;
- do_action("pre_delete_site_option_" . $option);
- if (!is_multisite()) {
- $result = delete_option($option);
- } else {
- $row = $wpdb->get_row($wpdb->prepare("SELECT meta_id FROM " . $wpdb->sitemeta . " WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid));
- if (is_null($row) || !$row->meta_id) {
- return FALSE;
- }
- $cache_key = "{$wpdb->siteid}:{$option}";
- wp_cache_delete($cache_key, "site-options");
- $result = $wpdb->query($wpdb->prepare("DELETE FROM " . $wpdb->sitemeta . " WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid));
- }
- if ($result) {
- do_action("delete_site_option_" . $option, $option);
- do_action("delete_site_option", $option);
- return TRUE;
- }
- return FALSE;
- }
- function update_site_option($option, $value) {
- global $wpdb;
- $oldvalue = get_site_option($option);
- $value = apply_filters("pre_update_site_option_" . $option, $value, $oldvalue);
- if ($value === $oldvalue) {
- return FALSE;
- }
- if (!is_multisite()) {
- $result = update_option($option, $value);
- } else {
- $cache_key = "{$wpdb->siteid}:{$option}";
- if ($value && !$wpdb->get_row($wpdb->prepare("SELECT meta_value FROM " . $wpdb->sitemeta . " WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid))) {
- return add_site_option($option, $value);
- }
- $value = sanitize_option($option, $value);
- wp_cache_set($cache_key, $value, "site-options");
- $_value = $value;
- $value = maybe_serialize($value);
- $result = $wpdb->update($wpdb->sitemeta, array("meta_value" => $value), array("site_id" => $wpdb->siteid, "meta_key" => $option));
- $value = $_value;
- }
- if ($result) {
- do_action("update_site_option_" . $option, $option, $value);
- do_action("update_site_option", $option, $value);
- return TRUE;
- }
- return FALSE;
- }
- function delete_site_transient($transient) {
- global $_wp_using_ext_object_cache;
- do_action("delete_site_transient_" . $transient, $transient);
- if ($_wp_using_ext_object_cache) {
- $result = wp_cache_delete($transient, "site-transient");
- } else {
- $option_timeout = "_site_transient_timeout_" . $transient;
- $option = "_site_transient_" . $transient;
- $result = delete_site_option($option);
- delete_site_option($option_timeout);
- }
- if ($result && $result) {
- do_action("deleted_site_transient", $transient);
- }
- return $result;
- }
- function get_site_transient($transient) {
- global $_wp_using_ext_object_cache;
- $pre = apply_filters("pre_site_transient_" . $transient, FALSE);
- if (FALSE !== $pre) {
- return $pre;
- }
- if ($_wp_using_ext_object_cache) {
- $value = wp_cache_get($transient, "site-transient");
- } else {
- $no_timeout = array("update_core", "update_plugins", "update_themes");
- $transient_option = "_site_transient_" . $transient;
- if (!in_array($transient, $no_timeout)) {
- $transient_timeout = "_site_transient_timeout_" . $transient;
- $timeout = get_site_option($transient_timeout);
- if (FALSE !== $timeout && $timeout < time()) {
- delete_site_option($transient_option);
- delete_site_option($transient_timeout);
- return FALSE;
- }
- }
- $value = get_site_option($transient_option);
- }
- return apply_filters("site_transient_" . $transient, $value);
- }
- function set_site_transient($transient, $value, $expiration = 0) {
- global $_wp_using_ext_object_cache;
- $value = apply_filters("pre_set_site_transient_" . $transient, $value);
- if ($_wp_using_ext_object_cache) {
- $result = wp_cache_set($transient, $value, "site-transient", $expiration);
- } else {
- $transient_timeout = "_site_transient_timeout_" . $transient;
- $transient = "_site_transient_" . $transient;
- if (FALSE === get_site_option($transient)) {
- if ($expiration) {
- add_site_option($transient_timeout, time() + $expiration);
- }
- $result = add_site_option($transient, $value);
- } else {
- if ($expiration) {
- update_site_option($transient_timeout, time() + $expiration);
- }
- $result = update_site_option($transient, $value);
- }
- }
- if ($result) {
- do_action("set_site_transient_" . $transient);
- do_action("setted_site_transient", $transient);
- }
- return $result;
- }
- function is_main_site($blog_id = "") {
- global $current_site;
- global $current_blog;
- if (!is_multisite()) {
- return TRUE;
- }
- if (!$blog_id) {
- $blog_id = $current_blog->blog_id;
- }
- return $blog_id == $current_site->blog_id;
- }
- function global_terms_enabled() {
- if (!is_multisite()) {
- return FALSE;
- }
- static $global_terms = NULL;
- if (is_null($global_terms)) {
- $filter = apply_filters("global_terms_enabled", NULL);
- if (!is_null($filter)) {
- $global_terms = $filter;
- return $global_terms;
- }
- $global_terms = get_site_option("global_terms_enabled", FALSE);
- }
- return $global_terms;
- }
- function wp_timezone_override_offset() {
- if (!wp_timezone_supported()) {
- return FALSE;
- }
- if (!($timezone_string = get_option("timezone_string"))) {
- return FALSE;
- }
- $timezone_object = timezone_open($timezone_string);
- $datetime_object = date_create();
- if (FALSE === $timezone_object || FALSE === $datetime_object) {
- return FALSE;
- }
- return round(timezone_offset_get($timezone_object, $datetime_object) / 3600, 2);
- }
- function wp_timezone_supported() {
- $support = FALSE;
- if (function_exists("date_create") && function_exists("date_default_timezone_set") && function_exists("timezone_identifiers_list") && function_exists("timezone_open") && function_exists("timezone_offset_get")) {
- $support = TRUE;
- }
- return apply_filters("timezone_support", $support);
- }
- function _wp_timezone_choice_usort_callback($a, $b) {
- if ("Etc" === $a['continent'] && "Etc" === $b['continent']) {
- if ("GMT+" === substr($a['city'], 0, 4) && "GMT+" === substr($b['city'], 0, 4)) {
- return 0 - 1 * strnatcasecmp($a['city'], $b['city']);
- }
- if ("UTC" === $a['city']) {
- if ("GMT+" === substr($b['city'], 0, 4)) {
- return 1;
- }
- return -1;
- }
- if ("UTC" === $b['city']) {
- if ("GMT+" === substr($a['city'], 0, 4)) {
- return -1;
- }
- return 1;
- }
- return strnatcasecmp($a['city'], $b['city']);
- }
- if ($a['t_continent'] == $b['t_continent']) {
- if ($a['t_city'] == $b['t_city']) {
- return strnatcasecmp($a['t_subcity'], $b['t_subcity']);
- }
- return strnatcasecmp($a['t_city'], $b['t_city']);
- }
- if ("Etc" === $a['continent']) {
- return 1;
- }
- if ("Etc" === $b['continent']) {
- return -1;
- }
- return strnatcasecmp($a['t_continent'], $b['t_continent']);
- }
- function wp_timezone_choice($selected_zone) {
- static $mo_loaded = FALSE;
- $continents = array("Africa", "America", "Antarctica", "Arctic", "Asia", "Atlantic", "Australia", "Europe", "Indian", "Pacific");
- if (!$mo_loaded) {
- $locale = get_locale();
- $mofile = WP_LANG_DIR . "/continents-cities-" . $locale . ".mo";
- load_textdomain("continents-cities", $mofile);
- $mo_loaded = TRUE;
- }
- $zonen = array();
- foreach(timezone_identifiers_list() as $zone) {
- $zone = explode("/", $zone);
- if (!in_array($zone[0], $continents)) {
- } else {
- $exists = array(0 => isset($zone[0]) && $zone[0], 1 => isset($zone[1]) && $zone[1], 2 => isset($zone[2]) && $zone[2]);
- $exists[3] = "Etc" !== $zone[0];
- $exists[4] = $exists[1] && $exists[3];
- $exists[5] = $exists[2] && $exists[3];
- $zonen[] = array("continent" => $exists[0] ? $zone[0] : "", "city" => $exists[1] ? $zone[1] : "", "subcity" => $exists[2] ? $zone[2] : "", "t_continent" => $exists[3] ? translate(str_replace("_", " ", $zone[0]), "continents-cities") : "", "t_city" => $exists[4] ? translate(str_replace("_", " ", $zone[1]), "continents-cities") : "", "t_subcity" => $exists[5] ? translate(str_replace("_", " ", $zone[2]), "continents-cities") : "");
- }
- }
- usort(&$zonen, "_wp_timezone_choice_usort_callback");
- $structure = array();
- if (empty($selected_zone)) {
- $structure[] = "<option selected=\"selected\" value=\"\">" . __("Select a city") . "</option>";
- }
- foreach($zonen as $key => $zone) {
- $value = array($zone['continent']);
- if (empty($zone['city'])) {
- $display = $zone['t_continent'];
- } else {
- if (!isset($zonen[$key - 1]) && $zonen[$key - 1]['continent'] !== $zone['continent']) {
- $label = $zone['t_continent'];
- $structure[] = "<optgroup label=\"" . esc_attr($label) . "\">";
- }
- $value[] = $zone['city'];
- $display = $zone['t_city'];
- if (!empty($zone['subcity'])) {
- $value[] = $zone['subcity'];
- $display.= " - " . $zone['t_subcity'];
- }
- }
- $value = join("/", $value);
- $selected = "";
- if ($value === $selected_zone) {
- $selected = "selected=\"selected\" ";
- }
- $structure[] = "<option " . $selected . "value=\"" . esc_attr($value) . "\">" . esc_html($display) . "</option>";
- if (!empty($zone['city'])) {
- if (!isset($zonen[$key + 1], $zonen[$key + 1]) && !($zonen[$key + 1]['continent'] !== $zone['continent'])) {
- $structure[] = "</optgroup>";
- }
- }
- }
- $structure[] = "<optgroup label=\"" . esc_attr__("UTC") . "\">";
- $selected = "";
- if ("UTC" === $selected_zone) {
- $selected = "selected=\"selected\" ";
- }
- $structure[] = "<option " . $selected . "value=\"" . esc_attr("UTC") . "\">" . __("UTC") . "</option>";
- $structure[] = "</optgroup>";
- $structure[] = "<optgroup label=\"" . esc_attr__("Manual Offsets") . "\">";
- $offset_range = array(-12, -11.5, -11, -10.5, -10, -9.5, -9, -8.5, -8, -7.5, -7, -6.5, -6, -5.5, -5, -4.5, -4, -3.5, -3, -2.5, -2, -1.5, -1, -0.5, 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 5.75, 6, 6.5, 7, 7.5, 8, 8.5, 8.75, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.75, 13, 13.75, 14);
- foreach($offset_range as $offset) {
- if (0 <= $offset) {
- $offset_name = "+" . $offset;
- } else {
- $offset_name = ( boolean )$offset;
- }
- $offset_value = $offset_name;
- $offset_name = str_replace(array(".25", ".5", ".75"), array(":15", ":30", ":45"), $offset_name);
- $offset_name = "UTC" . $offset_name;
- $offset_value = "UTC" . $offset_value;
- $selected = "";
- if ($offset_value === $selected_zone) {
- $selected = "selected=\"selected\" ";
- }
- $structure[] = "<option " . $selected . "value=\"" . esc_attr($offset_value) . "\">" . esc_html($offset_name) . "</option>";
- }
- $structure[] = "</optgroup>";
- return join("\n", $structure);
- }
- function _cleanup_header_comment($str) {
- return trim(preg_replace("/\\s*(?:\\*\\/|\\?>).*/", "", $str));
- }
- function wp_scheduled_delete() {
- global $wpdb;
- $delete_timestamp = time() - 86400 * EMPTY_TRASH_DAYS;
- $posts_to_delete = $wpdb->get_results($wpdb->prepare("SELECT post_id FROM " . $wpdb->postmeta . " WHERE meta_key = '_wp_trash_meta_time' AND meta_value < '%d'", $delete_timestamp), ARRAY_A);
- foreach(( array )$posts_to_delete as $post) {
- $post_id = ( integer )$post['post_id'];
- if (!$post_id) {
- } else {
- $del_post = get_post($post_id);
- if (!$del_post && "trash" != $del_post->post_status) {
- delete_post_meta($post_id, "_wp_trash_meta_status");
- delete_post_meta($post_id, "_wp_trash_meta_time");
- } else {
- wp_delete_post($post_id);
- }
- }
- }
- $comments_to_delete = $wpdb->get_results($wpdb->prepare("SELECT comment_id FROM " . $wpdb->commentmeta . " WHERE meta_key = '_wp_trash_meta_time' AND meta_value < '%d'", $delete_timestamp), ARRAY_A);
- foreach(( array )$comments_to_delete as $comment) {
- $comment_id = ( integer )$comment['comment_id'];
- if (!$comment_id) {
- } else {
- $del_comment = get_comment($comment_id);
- if (!$del_comment && "trash" != $del_comment->comment_approved) {
- delete_comment_meta($comment_id, "_wp_trash_meta_time");
- delete_comment_meta($comment_id, "_wp_trash_meta_status");
- } else {
- wp_delete_comment($comment_id);
- }
- }
- }
- }
- function get_file_data($file, $default_headers, $context = "") {
- $fp = fopen($file, "r");
- $file_data = fread($fp, 8192);
- fclose($fp);
- if ($context != "") {
- $extra_headers = apply_filters("extra_" . $context . "_headers", array());
- $extra_headers = array_flip($extra_headers);
- foreach($extra_headers as $key => $value) {
- $extra_headers[$key] = $key;
- }
- $all_headers = array_merge($extra_headers, ( array )$default_headers);
- } else {
- $all_headers = $default_headers;
- }
- foreach($all_headers as $field => $regex) {
- preg_match("/^[ \\t\\/*#]*" . preg_quote($regex, "/") . ":(.*)\$/mi", $file_data, $$field);
- if (!empty($field)) {
- $$field = _cleanup_header_comment($$field[1]);
- } else {
- $$field = "";
- }
- }
- $file_data = compact(array_keys($all_headers));
- return $file_data;
- }
- function _search_terms_tidy($t) {
- return trim($t, "\"'\n\r ");
- }
- function __return_true() {
- return TRUE;
- }
- function __return_false() {
- return FALSE;
- }
- function __return_zero() {
- return 0;
- }
- function __return_empty_array() {
- return array();
- }
- function send_nosniff_header() {
- @header("X-Content-Type-Options: nosniff");
- }
- function _wp_mysql_week($column) {
- case 0:
- default:
- switch ($start_of_week = ( integer )get_option("start_of_week")) {
- return "WEEK( " . $column . ", 0 )";
- case 1:
- return "WEEK( " . $column . ", 1 )";
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- }
- return "WEEK( DATE_SUB( " . $column . ", INTERVAL {$start_of_week} DAY ), 0 )";
- }
- function wp_find_hierarchy_loop($callback, $start, $start_parent, $callback_args = array()) {
- $override = is_null($start_parent) ? array() : array($start => $start_parent);
- if (!($arbitrary_loop_member = wp_find_hierarchy_loop_tortoise_hare($callback, $start, $override, $callback_args))) {
- return array();
- }
- return wp_find_hierarchy_loop_tortoise_hare($callback, $arbitrary_loop_member, $override, $callback_args, TRUE);
- }
- function wp_find_hierarchy_loop_tortoise_hare($callback, $start, $override = array(), $callback_args = array(), $_return_loop = FALSE) {
- $tortoise = $hare = $evanescent_hare = $start;
- $return = array();
- while ($tortoise) {
- if (!($evanescent_hare = isset($override[$hare]) ? $override[$hare] : call_user_func_array($callback, array_merge(array($hare), $callback_args)))) {
- break;
- }
- if (!($hare = isset($override[$evanescent_hare]) ? $override[$evanescent_hare] : call_user_func_array($callback, array_merge(array($evanescent_hare), $callback_args)))) {
- break;
- }
- if ($_return_loop) {
- $return[$tortoise] = $return[$evanescent_hare] = $return[$hare] = TRUE;
- }
- if ($tortoise == $evanescent_hare || $tortoise == $hare) {
- if ($_return_loop) {
- return $return;
- }
- return $tortoise;
- }
- $tortoise = isset($override[$tortoise]) ? $override[$tortoise] : call_user_func_array($callback, array_merge(array($tortoise), $callback_args));
- }
- return FALSE;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement