- if ( $category == $cat_obj->cat_ID )
- return true;
- else if ( $category == $cat_obj->cat_name )
- return true;
- elseif ( $category == $cat_obj->category_nicename )
- return true;
-
- return false;
-}
-
-function is_search () {
- global $wp_query;
-
- return $wp_query->is_search;
-}
-
-function is_feed () {
- global $wp_query;
-
- return $wp_query->is_feed;
-}
-
-function is_trackback () {
- global $wp_query;
-
- return $wp_query->is_trackback;
-}
-
-function is_admin () {
- global $wp_query;
-
- return ( $wp_query->is_admin || strstr($_SERVER['REQUEST_URI'], 'wp-admin/') );
-}
-
-function is_home () {
- global $wp_query;
-
- return $wp_query->is_home;
-}
-
-function is_404 () {
- global $wp_query;
-
- return $wp_query->is_404;
-}
-
-function is_comments_popup () {
- global $wp_query;
-
- return $wp_query->is_comments_popup;
-}
-
-function is_paged () {
- global $wp_query;
-
- return $wp_query->is_paged;
-}
-
-function in_the_loop() {
- global $wp_query;
-
- return $wp_query->in_the_loop;
-}
-
-function get_query_var($var) {
- global $wp_query;
-
- return $wp_query->get($var);
-}
-
-function have_posts() {
- global $wp_query;
-
- return $wp_query->have_posts();
-}
-
-function rewind_posts() {
- global $wp_query;
-
- return $wp_query->rewind_posts();
-}
-
-function the_post() {
- global $wp_query;
-
- $wp_query->the_post();
-}
-
-function get_theme_root() {
- return apply_filters('theme_root', ABSPATH . "wp-content/themes");
-}
-
-function get_theme_root_uri() {
- return apply_filters('theme_root_uri', get_settings('siteurl') . "/wp-content/themes", get_settings('siteurl'));
-}
-
-function get_stylesheet() {
- return apply_filters('stylesheet', get_settings('stylesheet'));
-}
-
-function get_stylesheet_directory() {
- $stylesheet = get_stylesheet();
- $stylesheet_dir = get_theme_root() . "/$stylesheet";
- return apply_filters('stylesheet_directory', $stylesheet_dir, $stylesheet);
-}
-
-function get_stylesheet_directory_uri() {
- $stylesheet = rawurlencode( get_stylesheet() );
- $stylesheet_dir_uri = get_theme_root_uri() . "/$stylesheet";
- return apply_filters('stylesheet_directory_uri', $stylesheet_dir_uri, $stylesheet);
-}
-
-function get_stylesheet_uri() {
- $stylesheet_dir_uri = get_stylesheet_directory_uri();
- $stylesheet_uri = $stylesheet_dir_uri . "/style.css";
- return apply_filters('stylesheet_uri', $stylesheet_uri, $stylesheet_dir_uri);
-}
-
-function get_template() {
- $template = get_settings('template');
- if (!file_exists(get_theme_root() . "/$template")) { //works for dirs too
- update_option('template', 'default');
- update_option('stylesheet', 'default');
- }
- return apply_filters('template', get_settings('template'));
-}
-
-function get_template_directory() {
- $template = get_template();
- $template_dir = get_theme_root() . "/$template";
- return apply_filters('template_directory', $template_dir, $template);
-}
-
-function get_template_directory_uri() {
- $template = get_template();
- $template_dir_uri = get_theme_root_uri() . "/$template";
- return apply_filters('template_directory_uri', $template_dir_uri, $template);
-}
-
-function get_theme_data($theme_file) {
- $theme_data = implode('', file($theme_file));
- preg_match("|Theme Name:(.*)|i", $theme_data, $theme_name);
- preg_match("|Theme URI:(.*)|i", $theme_data, $theme_uri);
- preg_match("|Description:(.*)|i", $theme_data, $description);
- preg_match("|Author:(.*)|i", $theme_data, $author_name);
- preg_match("|Author URI:(.*)|i", $theme_data, $author_uri);
- preg_match("|Template:(.*)|i", $theme_data, $template);
- if ( preg_match("|Version:(.*)|i", $theme_data, $version) )
- $version = $version[1];
- else
- $version ='';
- if ( preg_match("|Status:(.*)|i", $theme_data, $status) )
- $status = $status[1];
- else
- $status ='publish';
-
- $description = wptexturize($description[1]);
-
- $name = $theme_name[1];
- $name = trim($name);
- $theme = $name;
-
- if ( '' == $author_uri[1] ) {
- $author = $author_name[1];
- } else {
- $author = '<a href="' . $author_uri[1] . '" title="' . __('Visit author homepage') . '">' . $author_name[1] . '</a>';
- }
-
- return array('Name' => $name, 'Title' => $theme, 'Description' => $description, 'Author' => $author, 'Version' => $version, 'Template' => $template[1], 'Status' => $status);
-}
-
-function get_themes() {
- global $wp_themes;
- global $wp_broken_themes;
-
- if ( isset($wp_themes) )
- return $wp_themes;
-
- $themes = array();
- $wp_broken_themes = array();
- $theme_root = get_theme_root();
- $theme_loc = str_replace(ABSPATH, '', $theme_root);
-
- // Files in wp-content/themes directory
- $themes_dir = @ dir($theme_root);
- if ( $themes_dir ) {
- while(($theme_dir = $themes_dir->read()) !== false) {
- if ( is_dir($theme_root . '/' . $theme_dir) && is_readable($theme_root . '/' . $theme_dir) ) {
- if ( $theme_dir{0} == '.' || $theme_dir == '..' || $theme_dir == 'CVS' ) {
- continue;
- }
- $stylish_dir = @ dir($theme_root . '/' . $theme_dir);
- $found_stylesheet = false;
- while (($theme_file = $stylish_dir->read()) !== false) {
- if ( $theme_file == 'style.css' ) {
- $theme_files[] = $theme_dir . '/' . $theme_file;
- $found_stylesheet = true;
- break;
- }
- }
- if ( !$found_stylesheet ) {
- $wp_broken_themes[$theme_dir] = array('Name' => $theme_dir, 'Title' => $theme_dir, 'Description' => __('Stylesheet is missing.'));
- }
- }
- }
- }
-
- if ( !$themes_dir || !$theme_files ) {
- return $themes;
- }
-
- sort($theme_files);
-
- foreach($theme_files as $theme_file) {
- if ( ! is_readable("$theme_root/$theme_file") ) {
- $wp_broken_themes[$theme_file] = array('Name' => $theme_file, 'Title' => $theme_file, 'Description' => __('File not readable.'));
- continue;
- }
-
- $theme_data = get_theme_data("$theme_root/$theme_file");
-
- $name = $theme_data['Name'];
- $title = $theme_data['Title'];
- $description = wptexturize($theme_data['Description']);
- $version = $theme_data['Version'];
- $author = $theme_data['Author'];
- $template = $theme_data['Template'];
- $stylesheet = dirname($theme_file);
-
- foreach (array('png', 'gif', 'jpg', 'jpeg') as $ext) {
- if (file_exists("$theme_root/$stylesheet/screenshot.$ext")) {
- $screenshot = "screenshot.$ext";
- break;
- }
- }
-
- if ( empty($name) ) {
- $name = dirname($theme_file);
- $title = $name;
- }
-
- if ( empty($template) ) {
- if ( file_exists(dirname("$theme_root/$theme_file/index.php")) ) {
- $template = dirname($theme_file);
- } else {
- continue;
- }
- }
-
- $template = trim($template);
-
- if ( !file_exists("$theme_root/$template/index.php") ) {
- $wp_broken_themes[$name] = array('Name' => $name, 'Title' => $title, 'Description' => __('Template is missing.'));
- continue;
- }
-
- $stylesheet_files = array();
- $stylesheet_dir = @ dir("$theme_root/$stylesheet");
- if ( $stylesheet_dir ) {
- while(($file = $stylesheet_dir->read()) !== false) {
- if ( !preg_match('|^\.+$|', $file) && preg_match('|\.css$|', $file) )
- $stylesheet_files[] = "$theme_loc/$stylesheet/$file";
- }
- }
-
- $template_files = array();
- $template_dir = @ dir("$theme_root/$template");
- if ( $template_dir ) {
- while(($file = $template_dir->read()) !== false) {
- if ( !preg_match('|^\.+$|', $file) && preg_match('|\.php$|', $file) )
- $template_files[] = "$theme_loc/$template/$file";
- }
- }
-
- $template_dir = dirname($template_files[0]);
- $stylesheet_dir = dirname($stylesheet_files[0]);
-
- if ( empty($template_dir) )
- $template_dir = '/';
- if ( empty($stylesheet_dir) )
- $stylesheet_dir = '/';
-
- // Check for theme name collision. This occurs if a theme is copied to
- // a new theme directory and the theme header is not updated. Whichever
- // theme is first keeps the name. Subsequent themes get a suffix applied.
- // The Default and Classic themes always trump their pretenders.
- if ( isset($themes[$name]) ) {
- if ( ('WordPress Default' == $name || 'WordPress Classic' == $name) &&
- ('default' == $stylesheet || 'classic' == $stylesheet) ) {
- // If another theme has claimed to be one of our default themes, move
- // them aside.
- $suffix = $themes[$name]['Stylesheet'];
- $new_name = "$name/$suffix";
- $themes[$new_name] = $themes[$name];
- $themes[$new_name]['Name'] = $new_name;
- } else {
- $name = "$name/$stylesheet";
- }
- }
-
- $themes[$name] = array('Name' => $name, 'Title' => $title, 'Description' => $description, 'Author' => $author, 'Version' => $version, 'Template' => $template, 'Stylesheet' => $stylesheet, 'Template Files' => $template_files, 'Stylesheet Files' => $stylesheet_files, 'Template Dir' => $template_dir, 'Stylesheet Dir' => $stylesheet_dir, 'Status' => $theme_data['Status'], 'Screenshot' => $screenshot);
- }
-
- // Resolve theme dependencies.
- $theme_names = array_keys($themes);
-
- foreach ($theme_names as $theme_name) {
- $themes[$theme_name]['Parent Theme'] = '';
- if ( $themes[$theme_name]['Stylesheet'] != $themes[$theme_name]['Template'] ) {
- foreach ($theme_names as $parent_theme_name) {
- if ( ($themes[$parent_theme_name]['Stylesheet'] == $themes[$parent_theme_name]['Template']) && ($themes[$parent_theme_name]['Template'] == $themes[$theme_name]['Template']) ) {
- $themes[$theme_name]['Parent Theme'] = $themes[$parent_theme_name]['Name'];
- break;
- }
- }
- }
- }
-
- $wp_themes = $themes;
-
- return $themes;
-}
-
-function get_theme($theme) {
- $themes = get_themes();
-
- if ( array_key_exists($theme, $themes) )
- return $themes[$theme];
-
- return NULL;
-}
-
-function get_current_theme() {
- $themes = get_themes();
- $theme_names = array_keys($themes);
- $current_template = get_settings('template');
- $current_stylesheet = get_settings('stylesheet');
- $current_theme = 'WordPress Default';
-
- if ( $themes ) {
- foreach ($theme_names as $theme_name) {
- if ( $themes[$theme_name]['Stylesheet'] == $current_stylesheet &&
- $themes[$theme_name]['Template'] == $current_template ) {
- $current_theme = $themes[$theme_name]['Name'];
- break;
- }
- }
- }
-
- return $current_theme;
-}
-
-function get_query_template($type) {
- $template = '';
- if ( file_exists(TEMPLATEPATH . "/{$type}.php") )
- $template = TEMPLATEPATH . "/{$type}.php";
-
- return apply_filters("{$type}_template", $template);
-}
-
-function get_404_template() {
- return get_query_template('404');
-}
-
-function get_archive_template() {
- return get_query_template('archive');
-}
-
-function get_author_template() {
- return get_query_template('author');
-}
-
-function get_category_template() {
- $template = '';
- if ( file_exists(TEMPLATEPATH . "/category-" . get_query_var('cat') . '.php') )
- $template = TEMPLATEPATH . "/category-" . get_query_var('cat') . '.php';
- else if ( file_exists(TEMPLATEPATH . "/category.php") )
- $template = TEMPLATEPATH . "/category.php";
-
- return apply_filters('category_template', $template);
-}
-
-function get_date_template() {
- return get_query_template('date');
-}
-
-function get_home_template() {
- $template = '';
-
- if ( file_exists(TEMPLATEPATH . "/home.php") )
- $template = TEMPLATEPATH . "/home.php";
- else if ( file_exists(TEMPLATEPATH . "/index.php") )
- $template = TEMPLATEPATH . "/index.php";
-
- return apply_filters('home_template', $template);
-}
-
-function get_page_template() {
- global $wp_query;
-
- $id = $wp_query->post->ID;
- $template = get_post_meta($id, '_wp_page_template', true);
-
- if ( 'default' == $template )
- $template = '';
-
- if ( ! empty($template) && file_exists(TEMPLATEPATH . "/$template") )
- $template = TEMPLATEPATH . "/$template";
- else if ( file_exists(TEMPLATEPATH . "/page.php") )
- $template = TEMPLATEPATH . "/page.php";
- else
- $template = '';
-
- return apply_filters('page_template', $template);
-}
-
-function get_paged_template() {
- return get_query_template('paged');
-}
-
-function get_search_template() {
- return get_query_template('search');
-}
-
-function get_single_template() {
- return get_query_template('single');
-}
-
-function get_attachment_template() {
- global $posts;
- $type = explode('/', $posts[0]->post_mime_type);
- if ( $template = get_query_template($type[0]) )
- return $template;
- elseif ( $template = get_query_template($type[1]) )
- return $template;
- elseif ( $template = get_query_template("$type[0]_$type[1]") )
- return $template;
- else
- return get_query_template('attachment');
-}
-
-function get_comments_popup_template() {
- if ( file_exists( TEMPLATEPATH . '/comments-popup.php') )
- $template = TEMPLATEPATH . '/comments-popup.php';
- else
- $template = get_theme_root() . '/default/comments-popup.php';
-
- return apply_filters('comments_popup_template', $template);
-}
-
-// Borrowed from the PHP Manual user notes. Convert entities, while
-// preserving already-encoded entities:
-function htmlentities2($myHTML) {
- $translation_table=get_html_translation_table (HTML_ENTITIES,ENT_QUOTES);
- $translation_table[chr(38)] = '&';
- return preg_replace("/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/","&" , strtr($myHTML, $translation_table));
-}
-
-
-function is_plugin_page() {
- global $plugin_page;
-
- if ( isset($plugin_page) )
- return true;
-
- return false;
-}
-
-/*
-add_query_arg: Returns a modified querystring by adding
-a single key & value or an associative array.
-Setting a key value to emptystring removes the key.
-Omitting oldquery_or_uri uses the $_SERVER value.
-
-Parameters:
-add_query_arg(newkey, newvalue, oldquery_or_uri) or
-add_query_arg(associative_array, oldquery_or_uri)
-*/
-function add_query_arg() {
- $ret = '';
- if ( is_array(func_get_arg(0)) ) {
- if ( @func_num_args() < 2 )
- $uri = $_SERVER['REQUEST_URI'];
- else
- $uri = @func_get_arg(1);
- } else {
- if ( @func_num_args() < 3 )
- $uri = $_SERVER['REQUEST_URI'];
- else
- $uri = @func_get_arg(2);
- }
-
- if ( strstr($uri, '?') ) {
- $parts = explode('?', $uri, 2);
- if ( 1 == count($parts) ) {
- $base = '?';
- $query = $parts[0];
- } else {
- $base = $parts[0] . '?';
- $query = $parts[1];
- }
- }
- else if ( strstr($uri, '/') ) {
- $base = $uri . '?';
- $query = '';
- } else {
- $base = '';
- $query = $uri;
- }
-
- parse_str($query, $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($qs as $k => $v) {
- if ( $v != '' ) {
- if ( $ret != '' )
- $ret .= '&';
- $ret .= "$k=$v";
- }
- }
- $ret = $base . $ret;
- return trim($ret, '?');
-}
-
-function remove_query_arg($key, $query) {
- return add_query_arg($key, '', $query);
-}
-
-function load_template($file) {
- global $posts, $post, $wp_did_header, $wp_did_template_redirect, $wp_query,
- $wp_rewrite, $wpdb;
-
- extract($wp_query->query_vars);
-
- require_once($file);
-}
-
-function add_magic_quotes($array) {
- global $wpdb;
-
- foreach ($array as $k => $v) {
- if ( is_array($v) ) {
- $array[$k] = add_magic_quotes($v);
- } else {
- $array[$k] = $wpdb->escape($v);
- }
- }
- return $array;
-}
-
-function wp_remote_fopen( $uri ) {
- if ( ini_get('allow_url_fopen') ) {
- $fp = fopen( $uri, 'r' );
- if ( !$fp )
- return false;
- $linea = '';
- while( $remote_read = fread($fp, 4096) )
- $linea .= $remote_read;
- fclose($fp);
- return $linea;
- } else if ( function_exists('curl_init') ) {
- $handle = curl_init();
- curl_setopt ($handle, CURLOPT_URL, $uri);
- curl_setopt ($handle, CURLOPT_CONNECTTIMEOUT, 1);
- curl_setopt ($handle, CURLOPT_RETURNTRANSFER, 1);
- $buffer = curl_exec($handle);
- curl_close($handle);
- return $buffer;
- } else {
- return false;
- }
-}
-
-function wp($query_vars = '') {
- global $wp;
-
- $wp->main($query_vars);
-}
-
-function status_header( $header ) {
- if ( 200 == $header )
- $text = 'OK';
- elseif ( 301 == $header )
- $text = 'Moved Permanently';
- elseif ( 302 == $header )
- $text = 'Moved Temporarily';
- elseif ( 304 == $header )
- $text = 'Not Modified';
- elseif ( 404 == $header )
- $text = 'Not Found';
- elseif ( 410 == $header )
- $text = 'Gone';
-
- @header("HTTP/1.1 $header $text");
- @header("Status: $header $text");
-}
-
-function nocache_headers() {
- @ header('Expires: Wed, 11 Jan 1984 05:00:00 GMT');
- @ header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
- @ header('Cache-Control: no-cache, must-revalidate, max-age=0');
- @ header('Pragma: no-cache');
-}
-
-function get_usermeta( $user_id, $meta_key = '') {
- global $wpdb;
- $user_id = (int) $user_id;
-
- if ( !empty($meta_key) ) {
- $meta_key = preg_replace('|a-z0-9_|i', '', $meta_key);
- $metas = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
- } else {
- $metas = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user_id'");
- }
-
- if ( empty($metas) ) {
- if ( empty($meta_key) )
- return array();
- else
- return '';
- }
-
- foreach ($metas as $index => $meta) {
- @ $value = unserialize($meta->meta_value);
- if ( $value === FALSE )
- $value = $meta->meta_value;
-
- $values[] = $value;
- }
-
- if ( count($values) == 1 )
- return $values[0];
- else
- return $values;
-}
-
-function update_usermeta( $user_id, $meta_key, $meta_value ) {
- global $wpdb;
- if ( !is_numeric( $user_id ) )
- return false;
- $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
-
- if ( is_array($meta_value) || is_object($meta_value) )
- $meta_value = serialize($meta_value);
- $meta_value = trim( $meta_value );
-
- if (empty($meta_value)) {
- delete_usermeta($user_id, $meta_key);
- }
-
- $cur = $wpdb->get_row("SELECT * FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
- if ( !$cur ) {
- $wpdb->query("INSERT INTO $wpdb->usermeta ( user_id, meta_key, meta_value )
- VALUES
- ( '$user_id', '$meta_key', '$meta_value' )");
- } else if ( $cur->meta_value != $meta_value ) {
- $wpdb->query("UPDATE $wpdb->usermeta SET meta_value = '$meta_value' WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
- } else {
- return false;
- }
-
- $user = get_userdata($user_id);
- wp_cache_delete($user_id, 'users');
- wp_cache_delete($user->user_login, 'userlogins');
-
- return true;
-}
-
-function delete_usermeta( $user_id, $meta_key, $meta_value = '' ) {
- global $wpdb;
- if ( !is_numeric( $user_id ) )
- return false;
- $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
-
- if ( is_array($meta_value) || is_object($meta_value) )
- $meta_value = serialize($meta_value);
- $meta_value = trim( $meta_value );
-
- if ( ! empty($meta_value) )
- $wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key' AND meta_value = '$meta_value'");
- else
- $wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
-
- $user = get_userdata($user_id);
- wp_cache_delete($user_id, 'users');
- wp_cache_delete($user->user_login, 'userlogins');
-
- return true;
-}
-
-function register_activation_hook($file, $function) {
- $file = plugin_basename($file);
-
- add_action('activate_' . $file, $function);
-}
-
-function register_deactivation_hook($file, $function) {
- $file = plugin_basename($file);
-
- add_action('deactivate_' . $file, $function);
-}
-
-function plugin_basename($file) {
- $file = preg_replace('|\\\\+|', '\\\\', $file);
- $file = preg_replace('/^.*wp-content[\\\\\/]plugins[\\\\\/]/', '', $file);
- return $file;
-}
-
-function get_num_queries() {
- global $wpdb;
- return $wpdb->num_queries;