do_items((array) $handles); } // Force style enqueue static function do_styles($handles) { self::do_scripts('jquery'); global $wp_styles; if ( ! is_a($wp_styles, 'WP_Styles') ) $wp_styles = new WP_Styles(); ob_start(); $wp_styles->do_items((array) $handles); $content = str_replace(array('"', "\n"), array("'", ''), ob_get_clean()); echo ""; } // Extract $keys from $array static function array_extract($array, $keys) { $r = array(); foreach ( $keys as $key ) if ( array_key_exists($key, $array) ) $r[$key] = $array[$key]; return $r; } // Prepare an array for an IN statement static function array_to_sql($values) { foreach ( $values as &$val ) $val = "'" . esc_sql(trim($val)) . "'"; return implode(',', $values); } // Have more than one uninstall hooks; also prevents an UPDATE query on each page load static function add_uninstall_hook($plugin, $callback) { register_uninstall_hook($plugin, '__return_false'); // dummy add_action('uninstall_' . plugin_basename($plugin), $callback); } } // _____Simple debug utility_____ if ( ! class_exists('scbDebug') ): class scbDebug { private $args; function __construct($args) { $this->args = $args; register_shutdown_function(array($this, '_delayed')); } function _delayed() { if ( !current_user_can('administrator') ) return; $this->raw($this->args); } static function raw($args) { echo "
"; foreach ( $args as $arg ) if ( is_array($arg) || is_object($arg) ) print_r($arg); else var_dump($arg); echo ""; } } endif; if ( ! function_exists('debug') ): function debug() { $args = func_get_args(); // integrate with FirePHP if ( class_exists('FirePHP') ) { $firephp = FirePHP::getInstance(true); $firephp->group('debug'); foreach ( $args as $arg ) $firephp->log($arg); $firephp->groupEnd(); return; } new scbDebug($args); } endif; if ( ! function_exists('debug_raw') ): function debug_raw() { $args = func_get_args(); scbDebug::raw($args); } endif; // _____Minimalist HTML framework_____ if ( ! function_exists('html') ): function html($tag, $content = '') { list($closing) = explode(' ', $tag, 2); return "<{$tag}>{$content}{$closing}>"; } endif; // Generate an tag if ( ! function_exists('html_link') ): function html_link($url, $title = '') { if ( empty($title) ) $title = $url; return sprintf("%s", $url, $title); } endif; // _____Compatibility layer_____ // WP < 3.0 if ( ! function_exists('__return_false') ) : function __return_false() { return false; } endif; // WP < ? if ( ! function_exists('__return_true') ) : function __return_true() { return true; } endif; // WP < ? if ( ! function_exists('set_post_field') ) : function set_post_field($field, $value, $post_id) { global $wpdb; $post_id = absint($post_id); $value = sanitize_post_field($field, $value, $post_id, 'db'); return $wpdb->update($wpdb->posts, array($field => $value), array('ID' => $post_id)); } endif;