diff --git a/db/originalhouse.sql b/db/originalhouse.sql new file mode 100644 index 0000000..186fe58 --- /dev/null +++ b/db/originalhouse.sql @@ -0,0 +1,968 @@ +-- phpMyAdmin SQL Dump +-- version 3.3.9 +-- http://www.phpmyadmin.net +-- +-- Servidor: localhost +-- Tiempo de generación: 29-06-2011 a las 20:13:51 +-- Versión del servidor: 5.1.53 +-- Versión de PHP: 5.3.4 + +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; + +-- +-- Base de datos: `originalhouse` +-- + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `wp_commentmeta` +-- + +CREATE TABLE IF NOT EXISTS `wp_commentmeta` ( + `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `comment_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `meta_key` varchar(255) DEFAULT NULL, + `meta_value` longtext, + PRIMARY KEY (`meta_id`), + KEY `comment_id` (`comment_id`), + KEY `meta_key` (`meta_key`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- +-- Volcar la base de datos para la tabla `wp_commentmeta` +-- + + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `wp_comments` +-- + +CREATE TABLE IF NOT EXISTS `wp_comments` ( + `comment_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `comment_post_ID` bigint(20) unsigned NOT NULL DEFAULT '0', + `comment_author` tinytext NOT NULL, + `comment_author_email` varchar(100) NOT NULL DEFAULT '', + `comment_author_url` varchar(200) NOT NULL DEFAULT '', + `comment_author_IP` varchar(100) NOT NULL DEFAULT '', + `comment_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `comment_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `comment_content` text NOT NULL, + `comment_karma` int(11) NOT NULL DEFAULT '0', + `comment_approved` varchar(20) NOT NULL DEFAULT '1', + `comment_agent` varchar(255) NOT NULL DEFAULT '', + `comment_type` varchar(20) NOT NULL DEFAULT '', + `comment_parent` bigint(20) unsigned NOT NULL DEFAULT '0', + `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`comment_ID`), + KEY `comment_approved` (`comment_approved`), + KEY `comment_post_ID` (`comment_post_ID`), + KEY `comment_approved_date_gmt` (`comment_approved`,`comment_date_gmt`), + KEY `comment_date_gmt` (`comment_date_gmt`), + KEY `comment_parent` (`comment_parent`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; + +-- +-- Volcar la base de datos para la tabla `wp_comments` +-- + +INSERT INTO `wp_comments` (`comment_ID`, `comment_post_ID`, `comment_author`, `comment_author_email`, `comment_author_url`, `comment_author_IP`, `comment_date`, `comment_date_gmt`, `comment_content`, `comment_karma`, `comment_approved`, `comment_agent`, `comment_type`, `comment_parent`, `user_id`) VALUES +(1, 1, 'Sr WordPress', '', 'http://wordpress.org/', '', '2011-06-28 15:12:45', '2011-06-28 15:12:45', 'Hola, esto es un comentario.
Para borrar un comentario sólo tienes que entrar y ver los comentarios de la entrada. Entonces tendrás la opción de editar o borrar.', 0, '1', '', '', 0, 0); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `wp_customback` +-- + +CREATE TABLE IF NOT EXISTS `wp_customback` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `postid` bigint(20) DEFAULT NULL, + `url` text, + `rep` varchar(5) DEFAULT 'none', + `color` varchar(25) DEFAULT NULL, + `css` text, + `displaytype` tinyint(1) DEFAULT '3', + UNIQUE KEY `id` (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ; + +-- +-- Volcar la base de datos para la tabla `wp_customback` +-- + +INSERT INTO `wp_customback` (`id`, `postid`, `url`, `rep`, `color`, `css`, `displaytype`) VALUES +(1, 48, 'http://localhost/originalhouse/wp-content/uploads/2011/06/fondo-inicio.jpg', 'none', '', '', 5), +(2, 44, 'http://localhost/originalhouse/wp-content/uploads/2011/06/fondo-inicio.jpg', 'none', '', '', 5), +(3, 58, '', 'none', '', '', 0), +(4, 57, '', 'none', '', '', 0), +(5, 65, 'http://localhost/originalhouse/wp-content/uploads/2011/06/3-muebles.jpg', 'none', '', '', 0), +(6, 61, 'http://localhost/originalhouse/wp-content/uploads/2011/06/fondo-la-tienda.jpg', 'none', '', '', 5), +(7, 83, '', 'none', '', '', 0), +(8, 82, 'http://localhost/originalhouse/wp-content/uploads/2011/06/fondo-servicios.jpg', 'none', '', '', 5), +(9, 89, 'http://localhost/originalhouse/wp-content/uploads/2011/06/fondo-localizanos.jpg', 'none', '', '', 5), +(10, 88, 'http://localhost/originalhouse/wp-content/uploads/2011/06/fondo-localizanos.jpg', 'none', '', '', 5), +(11, 97, '', 'none', '', '', 0), +(12, 96, '', 'none', '', '', 0); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `wp_links` +-- + +CREATE TABLE IF NOT EXISTS `wp_links` ( + `link_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `link_url` varchar(255) NOT NULL DEFAULT '', + `link_name` varchar(255) NOT NULL DEFAULT '', + `link_image` varchar(255) NOT NULL DEFAULT '', + `link_target` varchar(25) NOT NULL DEFAULT '', + `link_description` varchar(255) NOT NULL DEFAULT '', + `link_visible` varchar(20) NOT NULL DEFAULT 'Y', + `link_owner` bigint(20) unsigned NOT NULL DEFAULT '1', + `link_rating` int(11) NOT NULL DEFAULT '0', + `link_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `link_rel` varchar(255) NOT NULL DEFAULT '', + `link_notes` mediumtext NOT NULL, + `link_rss` varchar(255) NOT NULL DEFAULT '', + PRIMARY KEY (`link_id`), + KEY `link_visible` (`link_visible`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ; + +-- +-- Volcar la base de datos para la tabla `wp_links` +-- + +INSERT INTO `wp_links` (`link_id`, `link_url`, `link_name`, `link_image`, `link_target`, `link_description`, `link_visible`, `link_owner`, `link_rating`, `link_updated`, `link_rel`, `link_notes`, `link_rss`) VALUES +(1, 'http://codex.wordpress.org/', 'Documentation', '', '', '', 'Y', 1, 0, '0000-00-00 00:00:00', '', '', ''), +(2, 'http://wordpress.org/news/', 'WordPress Blog', '', '', '', 'Y', 1, 0, '0000-00-00 00:00:00', '', '', 'http://wordpress.org/news/feed/'), +(3, 'http://wordpress.org/extend/ideas/', 'Suggest Ideas', '', '', '', 'Y', 1, 0, '0000-00-00 00:00:00', '', '', ''), +(4, 'http://wordpress.org/support/', 'Support Forum', '', '', '', 'Y', 1, 0, '0000-00-00 00:00:00', '', '', ''), +(5, 'http://wordpress.org/extend/plugins/', 'Plugins', '', '', '', 'Y', 1, 0, '0000-00-00 00:00:00', '', '', ''), +(6, 'http://wordpress.org/extend/themes/', 'Themes', '', '', '', 'Y', 1, 0, '0000-00-00 00:00:00', '', '', ''), +(7, 'http://planet.wordpress.org/', 'WordPress Planet', '', '', '', 'Y', 1, 0, '0000-00-00 00:00:00', '', '', ''); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `wp_options` +-- + +CREATE TABLE IF NOT EXISTS `wp_options` ( + `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `blog_id` int(11) NOT NULL DEFAULT '0', + `option_name` varchar(64) NOT NULL DEFAULT '', + `option_value` longtext NOT NULL, + `autoload` varchar(20) NOT NULL DEFAULT 'yes', + PRIMARY KEY (`option_id`), + UNIQUE KEY `option_name` (`option_name`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=339 ; + +-- +-- Volcar la base de datos para la tabla `wp_options` +-- + +INSERT INTO `wp_options` (`option_id`, `blog_id`, `option_name`, `option_value`, `autoload`) VALUES +(1, 0, 'siteurl', 'http://localhost/originalhouse', 'yes'), +(2, 0, 'blogname', 'Original House', 'yes'), +(3, 0, 'blogdescription', 'Muebles y decoración de estilo asiatico y moderno', 'yes'), +(4, 0, 'users_can_register', '0', 'yes'), +(5, 0, 'admin_email', 'darranz@rodax-software.com', 'yes'), +(6, 0, 'start_of_week', '1', 'yes'), +(7, 0, 'use_balanceTags', '0', 'yes'), +(8, 0, 'use_smilies', '1', 'yes'), +(9, 0, 'require_name_email', '1', 'yes'), +(10, 0, 'comments_notify', '1', 'yes'), +(11, 0, 'posts_per_rss', '10', 'yes'), +(12, 0, 'rss_use_excerpt', '0', 'yes'), +(13, 0, 'mailserver_url', 'mail.example.com', 'yes'), +(14, 0, 'mailserver_login', 'login@example.com', 'yes'), +(15, 0, 'mailserver_pass', 'password', 'yes'), +(16, 0, 'mailserver_port', '110', 'yes'), +(17, 0, 'default_category', '1', 'yes'), +(18, 0, 'default_comment_status', 'closed', 'yes'), +(19, 0, 'default_ping_status', 'open', 'yes'), +(20, 0, 'default_pingback_flag', '1', 'yes'), +(21, 0, 'default_post_edit_rows', '20', 'yes'), +(22, 0, 'posts_per_page', '10', 'yes'), +(23, 0, 'date_format', 'j F, Y', 'yes'), +(24, 0, 'time_format', 'G:i', 'yes'), +(25, 0, 'links_updated_date_format', 'j F, Y G:i', 'yes'), +(26, 0, 'links_recently_updated_prepend', '', 'yes'), +(27, 0, 'links_recently_updated_append', '', 'yes'), +(28, 0, 'links_recently_updated_time', '120', 'yes'), +(29, 0, 'comment_moderation', '', 'yes'), +(30, 0, 'moderation_notify', '1', 'yes'), +(31, 0, 'permalink_structure', '', 'yes'), +(32, 0, 'gzipcompression', '0', 'yes'), +(33, 0, 'hack_file', '0', 'yes'), +(34, 0, 'blog_charset', 'UTF-8', 'yes'), +(35, 0, 'moderation_keys', '', 'no'), +(36, 0, 'active_plugins', 'a:5:{i:0;s:21:"catablog/catablog.php";i:1;s:43:"custom-post-background/custom-post-back.php";i:2;s:56:"jquery-vertical-accordion-menu/dcwp_jquery_accordion.php";i:3;s:51:"make-filename-lowercase/make-filename-lowercase.php";i:4;s:57:"sanitize-spanish-filenames/sanitize-spanish-filenames.php";}', 'yes'), +(37, 0, 'home', 'http://localhost/originalhouse', 'yes'), +(38, 0, 'category_base', '', 'yes'), +(39, 0, 'ping_sites', 'http://rpc.pingomatic.com/', 'yes'), +(40, 0, 'advanced_edit', '0', 'yes'), +(41, 0, 'comment_max_links', '2', 'yes'), +(42, 0, 'gmt_offset', '0', 'yes'), +(43, 0, 'default_email_category', '1', 'yes'), +(44, 0, 'recently_edited', '', 'no'), +(45, 0, 'template', 'originalhouse', 'yes'), +(46, 0, 'stylesheet', 'originalhouse', 'yes'), +(47, 0, 'comment_whitelist', '1', 'yes'), +(48, 0, 'blacklist_keys', '', 'no'), +(49, 0, 'comment_registration', '', 'yes'), +(50, 0, 'rss_language', 'en', 'yes'), +(51, 0, 'html_type', 'text/html', 'yes'), +(52, 0, 'use_trackback', '0', 'yes'), +(53, 0, 'default_role', 'subscriber', 'yes'), +(54, 0, 'db_version', '17516', 'yes'), +(55, 0, 'uploads_use_yearmonth_folders', '1', 'yes'), +(56, 0, 'upload_path', '', 'yes'), +(57, 0, 'blog_public', '1', 'yes'), +(58, 0, 'default_link_category', '2', 'yes'), +(59, 0, 'show_on_front', 'page', 'yes'), +(60, 0, 'tag_base', '', 'yes'), +(61, 0, 'show_avatars', '0', 'yes'), +(62, 0, 'avatar_rating', 'G', 'yes'), +(63, 0, 'upload_url_path', '', 'yes'), +(64, 0, 'thumbnail_size_w', '150', 'yes'), +(65, 0, 'thumbnail_size_h', '150', 'yes'), +(66, 0, 'thumbnail_crop', '1', 'yes'), +(67, 0, 'medium_size_w', '300', 'yes'), +(68, 0, 'medium_size_h', '300', 'yes'), +(69, 0, 'avatar_default', 'mystery', 'yes'), +(70, 0, 'enable_app', '0', 'yes'), +(71, 0, 'enable_xmlrpc', '0', 'yes'), +(72, 0, 'large_size_w', '1024', 'yes'), +(73, 0, 'large_size_h', '1024', 'yes'), +(74, 0, 'image_default_link_type', 'file', 'yes'), +(75, 0, 'image_default_size', '', 'yes'), +(76, 0, 'image_default_align', '', 'yes'), +(77, 0, 'close_comments_for_old_posts', '', 'yes'), +(78, 0, 'close_comments_days_old', '14', 'yes'), +(79, 0, 'thread_comments', '1', 'yes'), +(80, 0, 'thread_comments_depth', '5', 'yes'), +(81, 0, 'page_comments', '', 'yes'), +(82, 0, 'comments_per_page', '50', 'yes'), +(83, 0, 'default_comments_page', 'newest', 'yes'), +(84, 0, 'comment_order', 'asc', 'yes'), +(85, 0, 'sticky_posts', 'a:0:{}', 'yes'), +(86, 0, 'widget_categories', 'a:2:{i:2;a:4:{s:5:"title";s:0:"";s:5:"count";i:0;s:12:"hierarchical";i:0;s:8:"dropdown";i:0;}s:12:"_multiwidget";i:1;}', 'yes'), +(87, 0, 'widget_text', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(88, 0, 'widget_rss', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(89, 0, 'timezone_string', '', 'yes'), +(90, 0, 'embed_autourls', '1', 'yes'), +(91, 0, 'embed_size_w', '', 'yes'), +(92, 0, 'embed_size_h', '600', 'yes'), +(93, 0, 'page_for_posts', '0', 'yes'), +(94, 0, 'page_on_front', '44', 'yes'), +(95, 0, 'default_post_format', '0', 'yes'), +(96, 0, 'wp_user_roles', 'a:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:62:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;s:11:"update_core";b:1;s:10:"list_users";b:1;s:12:"remove_users";b:1;s:9:"add_users";b:1;s:13:"promote_users";b:1;s:18:"edit_theme_options";b:1;s:13:"delete_themes";b:1;s:6:"export";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}', 'yes'), +(97, 0, 'widget_search', 'a:2:{i:2;a:1:{s:5:"title";s:0:"";}s:12:"_multiwidget";i:1;}', 'yes'), +(98, 0, 'widget_recent-posts', 'a:2:{i:2;a:2:{s:5:"title";s:0:"";s:6:"number";i:5;}s:12:"_multiwidget";i:1;}', 'yes'), +(99, 0, 'widget_recent-comments', 'a:2:{i:2;a:2:{s:5:"title";s:0:"";s:6:"number";i:5;}s:12:"_multiwidget";i:1;}', 'yes'), +(100, 0, 'widget_archives', 'a:2:{i:2;a:3:{s:5:"title";s:0:"";s:5:"count";i:0;s:8:"dropdown";i:0;}s:12:"_multiwidget";i:1;}', 'yes'), +(101, 0, 'widget_meta', 'a:2:{i:2;a:1:{s:5:"title";s:0:"";}s:12:"_multiwidget";i:1;}', 'yes'), +(102, 0, 'sidebars_widgets', 'a:3:{s:19:"wp_inactive_widgets";a:21:{i:0;s:10:"woo_tabs-2";i:1;s:14:"woo_adwidget-2";i:2;s:20:"woo_blogauthorinfo-2";i:3;s:12:"woo_flickr-2";i:4;s:12:"woo_search-2";i:5;s:13:"woo_twitter-2";i:6;s:15:"woo_subscribe-2";i:7;s:7:"pages-2";i:8;s:10:"calendar-2";i:9;s:7:"links-2";i:10;s:6:"text-2";i:11;s:5:"rss-2";i:12;s:11:"tag_cloud-2";i:13;s:10:"nav_menu-2";i:14;s:14:"woo_archives-2";i:15;s:23:"dc_jqaccordion_widget-2";i:16;s:14:"recent-posts-2";i:17;s:17:"recent-comments-2";i:18;s:10:"archives-2";i:19;s:12:"categories-2";i:20;s:6:"meta-2";}s:7:"primary";a:1:{i:0;s:23:"dc_jqaccordion_widget-3";}s:13:"array_version";i:3;}', 'yes'), +(103, 0, 'cron', 'a:3:{i:1309403568;a:3:{s:16:"wp_version_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:17:"wp_update_plugins";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1309446772;a:1:{s:19:"wp_scheduled_delete";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}}s:7:"version";i:2;}', 'yes'), +(104, 0, '_transient_doing_cron', '1309360590', 'yes'), +(105, 0, '_site_transient_update_core', 'O:8:"stdClass":3:{s:7:"updates";a:2:{i:0;O:8:"stdClass":7:{s:8:"response";s:6:"latest";s:3:"url";s:24:"http://es.wordpress.org/";s:7:"package";s:49:"http://es.wordpress.org/wordpress-3.1.3-es_ES.zip";s:7:"current";s:5:"3.1.3";s:6:"locale";s:5:"es_ES";s:11:"php_version";s:3:"4.3";s:13:"mysql_version";s:5:"4.1.2";}i:1;O:8:"stdClass":7:{s:8:"response";s:6:"latest";s:3:"url";s:30:"http://wordpress.org/download/";s:7:"package";s:40:"http://wordpress.org/wordpress-3.1.3.zip";s:7:"current";s:5:"3.1.3";s:6:"locale";s:5:"en_US";s:11:"php_version";s:3:"4.3";s:13:"mysql_version";s:5:"4.1.2";}}s:12:"last_checked";i:1309360372;s:15:"version_checked";s:5:"3.1.3";}', 'yes'), +(107, 0, 'widget_pages', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(108, 0, 'widget_calendar', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(109, 0, 'widget_links', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(110, 0, 'widget_tag_cloud', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(111, 0, 'widget_nav_menu', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(115, 0, 'dashboard_widget_options', 'a:4:{s:25:"dashboard_recent_comments";a:1:{s:5:"items";i:5;}s:24:"dashboard_incoming_links";a:5:{s:4:"home";s:30:"http://localhost/originalhouse";s:4:"link";s:106:"http://blogsearch.google.com/blogsearch?scoring=d&partner=wordpress&q=link:http://localhost/originalhouse/";s:3:"url";s:139:"http://blogsearch.google.com/blogsearch_feeds?scoring=d&ie=utf-8&num=10&output=rss&partner=wordpress&q=link:http://localhost/originalhouse/";s:5:"items";i:10;s:9:"show_date";b:0;}s:17:"dashboard_primary";a:7:{s:4:"link";s:26:"http://wordpress.org/news/";s:3:"url";s:31:"http://wordpress.org/news/feed/";s:5:"title";s:22:"Blog oficial WordPress";s:5:"items";i:2;s:12:"show_summary";i:1;s:11:"show_author";i:0;s:9:"show_date";i:1;}s:19:"dashboard_secondary";a:7:{s:4:"link";s:28:"http://planet.wordpress.org/";s:3:"url";s:33:"http://planet.wordpress.org/feed/";s:5:"title";s:30:"Otras noticias sobre WordPress";s:5:"items";i:5;s:12:"show_summary";i:0;s:11:"show_author";i:0;s:9:"show_date";i:0;}}', 'yes'), +(335, 0, '_site_transient_timeout_theme_roots', '1309384400', 'yes'), +(336, 0, '_site_transient_theme_roots', 'a:2:{s:13:"originalhouse";s:7:"/themes";s:9:"twentyten";s:7:"/themes";}', 'yes'), +(266, 0, 'current_theme', 'Original House', 'yes'), +(117, 0, 'can_compress_scripts', '1', 'yes'), +(155, 0, '_transient_timeout_feed_mod_8fa202021a0c51f109142bc571ee925a', '1309387967', 'no'), +(156, 0, '_transient_feed_mod_8fa202021a0c51f109142bc571ee925a', '1309344767', 'no'), +(153, 0, '_transient_timeout_feed_8fa202021a0c51f109142bc571ee925a', '1309387967', 'no'), +(154, 0, '_transient_feed_8fa202021a0c51f109142bc571ee925a', 'a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:4:"\n \n";s:7:"attribs";a:1:{s:0:"";a:1:{s:7:"version";s:3:"2.0";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:1:{s:7:"channel";a:1:{i:0;a:6:{s:4:"data";s:83:"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:4:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:57:"link:http://localhost/originalhouse/ - Google Blog Search";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:94:"http://www.google.com/search?ie=utf-8&q=link:http://localhost/originalhouse/&tbm=blg&tbs=sbd:1";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:97:"Results 1 - 10 of about 139 for link:http://localhost/originalhouse/.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"item";a:10:{i:0;a:6:{s:4:"data";s:47:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:3:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:79:"MakeUseOf.com: “Latest Hilarious Picks [Geeky Fun]” plus 12 more ...";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:94:"http://free-download-book-pdf.blogspot.com/2011/05/makeuseofcom-latest-hilarious-picks_13.html";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:536:"Go to “http://localhost/” and you'll see a perfect mirror replica of your live website! Now you can tweak your theme, new ads, or otherwise play around with the local version of your website before you decide to move the changes to your live ... The link will prompt the package manager to install the package for you. You can also fire up the Synaptic Package Manager and type in compizconfig-settings-manager . You'll see it along with another package called “simple-ccsm“. ...";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:3:{s:9:"publisher";a:1:{i:0;a:5:{s:4:"data";s:14:"Download ebook";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"ebook";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"date";a:1:{i:0;a:5:{s:4:"data";s:29:"Fri, 13 May 2011 14:22:00 GMT";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:1;a:6:{s:4:"data";s:47:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:3:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:76:"FreakY TriKz: MakeUseOf.com: “Latest Hilarious Picks [Geeky Fun ...";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:84:"http://freaky-trikz.blogspot.com/2011/05/makeuseofcom-latest-hilarious-picks_13.html";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:536:"Go to “http://localhost/” and you'll see a perfect mirror replica of your live website! Now you can tweak your theme, new ads, or otherwise play around with the local version of your website before you decide to move the changes to your live ... The link will prompt the package manager to install the package for you. You can also fire up the Synaptic Package Manager and type in compizconfig-settings-manager . You'll see it along with another package called “simple-ccsm“. ...";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:3:{s:9:"publisher";a:1:{i:0;a:5:{s:4:"data";s:12:"freaky trikz";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:6:"RAPZAP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"date";a:1:{i:0;a:5:{s:4:"data";s:29:"Fri, 13 May 2011 14:22:00 GMT";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:2;a:6:{s:4:"data";s:47:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:3:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:24:"TVIDs with Music Jukebox";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:58:"http://www.networkedmediatank.com/showthread.php?tid=51003";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:576:"The link I am adding is http://localhost.drives:8883/USB_DRIVE_C-3/index.htm and specifying 'ALL' pages. The xml file is updated with. Code: <tvids> <RED>http://localhost.drives:8883/USB_DRIVE_C-3/index.htm</RED> </tvids> ... Edit2: Actually, if I just edit the index_main.htm file with my code, all of the other index pages and details pages have the original 'home' code which reverts back to the index_main.htm page... than with the updated index_main.htm page, ...";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:3:{s:9:"publisher";a:1:{i:0;a:5:{s:4:"data";s:33:"Networked Media Tank - All Forums";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:7:"unknown";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"date";a:1:{i:0;a:5:{s:4:"data";s:29:"Tue, 29 Mar 2011 19:34:09 GMT";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:3;a:6:{s:4:"data";s:47:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:3:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:66:"朝乾夕惕|SpunkMars++ » 【原创】RRDtool Cacti 安装总结";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:123:"http://www.spunkmars.org/2010/12/09/%E3%80%90%E5%8E%9F%E5%88%9B%E3%80%91rrdtool-cacti-%E5%AE%89%E8%A3%85%E6%80%BB%E7%BB%93/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:685:"这个软件,它老是就编译不出pangocairo.pc这个文件,最后还得老老实实去rrdtool官网下载它提供的第三方软件和库,地址如下:http://oss.oetiker.ch/rrdtool/pub/libs/ ,里面同个软件还有几个版本,都挑里面较新的装,因为毕竟装的是rrdtool-1.4.4版本。 其实只要熟悉了pkgconfig管理库 .... 因为在我的httpd.conf里设置的网站主目录是/data/htdocs/www ,所以Cacti的访问地址为:http://localhost/cacti. 设置Cacti: 浏览器里登录http://localhost/cacti. 默认用户名和密码都是admin. 第一次登录需强制更换新密码 ...";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:3:{s:9:"publisher";a:1:{i:0;a:5:{s:4:"data";s:24:"朝乾夕惕|SpunkMars++";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"admin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"date";a:1:{i:0;a:5:{s:4:"data";s:29:"Thu, 09 Dec 2010 01:11:53 GMT";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:4;a:6:{s:4:"data";s:47:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:3:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:38:"virt-manager (only) will not X forward";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:120:"http://forums.opensuse.org/english/get-technical-help-here/applications/447580-virt-manager-only-will-not-x-forward.html";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:520:"The application 'virt-manager.py' lost its connection to the display localhost:12.0; most likely the X server was shut down or you killed/destroyed the application. That lead me to this post which had a solution, and a good explanation as well: ... $HOME, so the original $HOME/.Xauthority is still used. Then, userhelper (or su -) use the pam_xauth module. pam_xauth does not use $HOME/.Xauthority, but "invoking user's home directory"/.Xauthority, i.e. /root/. ...";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:3:{s:9:"publisher";a:1:{i:0;a:5:{s:4:"data";s:15:"openSUSE Forums";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:17:"LewsTherinTelemon";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"date";a:1:{i:0;a:5:{s:4:"data";s:29:"Wed, 08 Dec 2010 08:00:00 GMT";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:5;a:6:{s:4:"data";s:47:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:3:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:55:"Ampache - Streming Sterver Teil 1 | Stefan's Weblog";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:35:"http://www.strobelstefan.de/?p=1051";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:260:"Ruft man im Webbrowser den Installationsdialog über http://localhost/ampacheauf, dann wird ein Fehler ausgegeben. Kurz gesagt der Webserver Apache hat keinen Zugriff auf Ampache. Mit zwei Befehlen auf der Konsole kann man das aber ...";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:3:{s:9:"publisher";a:1:{i:0;a:5:{s:4:"data";s:15:"Stefan''s Weblog";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:6:"Stefan";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"date";a:1:{i:0;a:5:{s:4:"data";s:29:"Thu, 25 Nov 2010 10:01:36 GMT";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:6;a:6:{s:4:"data";s:47:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:3:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:48:"solaris5.10 ipMP配置_两树娑罗_百度空间";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:68:"http://hi.baidu.com/godblade/blog/item/3ec43995b23f175bd0135ee1.html";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:506:"The 2 floating addresses are the external ones. If one of the NICs detects link failure, the address tied to that NIC fails over to the working NIC. When the NIC comes back up, the address fails back to its original home. .... cat /etc/ hosts # # Internet host table # 127.0.0.1 localhost 192.168.10.10 REALNAME loghost 192.168.10.11 DUMMY1 192.168.10.12 DUMMY2 #. What does this do? It sets up two dummy (private) IP addresses that are fixed to the interfaces. ...";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:3:{s:9:"publisher";a:1:{i:0;a:5:{s:4:"data";s:12:"两树娑罗";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"arsex";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"date";a:1:{i:0;a:5:{s:4:"data";s:29:"Mon, 22 Nov 2010 05:40:00 GMT";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:7;a:6:{s:4:"data";s:47:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:3:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:51:"ASA Syslog errors from MSSQL - Spiceworks Community";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:72:"http://community.spiceworks.com/topic/99299-asa-syslog-errors-from-mssql";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:522:"For some reason the old administrator used a lot of references to its IP address rather than using localhost or 127.0.0.1. Instead the admin entered the actual IP address into the configs. I've cleaned up everything i can find but apparently i haven't found them all. ... Check the Jobs, and Database Link. It look to me that the DB may have a database link pointing to the same database. This is a trick that's being used for some DBA to accomplished tricky tasks. ...";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:3:{s:9:"publisher";a:1:{i:0;a:5:{s:4:"data";s:20:"Spiceworks Community";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:6:"mattrk";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"date";a:1:{i:0;a:5:{s:4:"data";s:29:"Wed, 19 May 2010 21:36:58 GMT";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:8;a:6:{s:4:"data";s:47:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:3:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:44:"Calabrian Journey « Nick Mancuso's Blog";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:62:"http://nickmancuso.wordpress.com/2009/10/28/calabrian-journey/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:499:"Version:1.0 StartHTML:0000000202 EndHTML:0000021481 StartFragment:0000002631 EndFragment:0000021445 SourceURL:file://localhost/Users/nickmancuso/Desktop/Assorted%20Essays/CALABRIAN%20MEMORIES.doc .... In America, many of us have lost that link to our roots, our common roots. I have lost the flavor of our differences. Of the cities and towns my ancestors emigrated from. We have become part of the sweltering homogenized masses of men and women of the industrial ...";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:3:{s:9:"publisher";a:1:{i:0;a:5:{s:4:"data";s:19:"Nick Mancuso''s Blog";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Nick Mancuso";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"date";a:1:{i:0;a:5:{s:4:"data";s:29:"Wed, 28 Oct 2009 08:32:00 GMT";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:9;a:6:{s:4:"data";s:47:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:3:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:44:"Angel Garden Statues | Garden Gnomes Statues";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:51:"http://gardengnomestatues.org/angel-garden-statues/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:531:"[affmage source="chitika" results="0"][/affmage] angel garden statues. Yardworks original home lawn and garden decoration, by Pacific Enterprises Inc.. CAL NO. 94545 no information? looking elements No angel statue. SF-9170 made in China. approx. 5 inches tall rabbit, angel holding, polyresin, the need to replace the broken item. No information more available. Since you are a Yahoo user, try the following link: Good luck in your search http://local.yahoo.com/. ...";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:3:{s:9:"publisher";a:1:{i:0;a:5:{s:4:"data";s:21:"Garden Gnomes Statues";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"admin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"date";a:1:{i:0;a:5:{s:4:"data";s:29:"Tue, 09 Nov 2010 03:44:06 GMT";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}s:36:"http://a9.com/-/spec/opensearch/1.1/";a:3:{s:12:"totalResults";a:1:{i:0;a:5:{s:4:"data";s:3:"139";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:10:"startIndex";a:1:{i:0;a:5:{s:4:"data";s:1:"1";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:12:"itemsPerPage";a:1:{i:0;a:5:{s:4:"data";s:2:"10";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}}}}}}s:4:"type";i:128;s:7:"headers";a:7:{s:12:"content-type";s:28:"text/xml; charset=ISO-8859-1";s:4:"date";s:29:"Wed, 29 Jun 2011 10:52:50 GMT";s:7:"expires";s:2:"-1";s:13:"cache-control";s:18:"private, max-age=0";s:10:"set-cookie";s:143:"PREF=ID=c014005ec424ffe3:FF=0:TM=1309344770:LM=1309344770:S=xVRd97PRukb2xRgF; expires=Fri, 28-Jun-2013 10:52:50 GMT; path=/; domain=.google.com";s:6:"server";s:3:"gws";s:16:"x-xss-protection";s:13:"1; mode=block";}s:5:"build";s:14:"20090627192103";}', 'no'), +(122, 0, '_transient_timeout_plugin_slugs', '1309456990', 'no'), +(123, 0, '_transient_plugin_slugs', 'a:7:{i:0;s:19:"akismet/akismet.php";i:1;s:21:"catablog/catablog.php";i:2;s:43:"custom-post-background/custom-post-back.php";i:3;s:9:"hello.php";i:4;s:56:"jquery-vertical-accordion-menu/dcwp_jquery_accordion.php";i:5;s:51:"make-filename-lowercase/make-filename-lowercase.php";i:6;s:57:"sanitize-spanish-filenames/sanitize-spanish-filenames.php";}', 'no'), +(124, 0, 'recently_activated', 'a:0:{}', 'yes'), +(125, 0, '_transient_timeout_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1309317174', 'no'); +INSERT INTO `wp_options` (`option_id`, `blog_id`, `option_name`, `option_value`, `autoload`) VALUES +(126, 0, '_transient_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca', 'a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:3:"\n\n\n";s:7:"attribs";a:1:{s:0:"";a:1:{s:7:"version";s:3:"2.0";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:1:{s:7:"channel";a:1:{i:0;a:6:{s:4:"data";s:50:"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:3:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:14:"WordPress News";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:25:"http://wordpress.org/news";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:14:"WordPress News";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:13:"lastBuildDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 24 Jun 2011 23:15:22 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"language";a:1:{i:0;a:5:{s:4:"data";s:2:"en";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:9:"generator";a:1:{i:0;a:5:{s:4:"data";s:37:"http://wordpress.org/?v=3.2-RC2-18357";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"item";a:10:{i:0;a:6:{s:4:"data";s:41:"\n \n \n \n \n \n \n\n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:33:"WordPress 3.2 Release Candidate 2";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:68:"http://wordpress.org/news/2011/06/wordpress-3-2-release-candidate-2/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:77:"http://wordpress.org/news/2011/06/wordpress-3-2-release-candidate-2/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 24 Jun 2011 23:15:22 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:7:"Testing";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=1915";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:358:"Howdy! The second release candidate for WordPress 3.2 is now available. If you haven’t tested WordPress 3.2 yet, now is the time — please though, not on your live site unless you’re extra adventurous. We’ve handled a number of issues since RC1, including additional Twenty Eleven tweaks, a new theme support option for defaulting to [...]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Andrew Nacin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:1876:"

Howdy! The second release candidate for WordPress 3.2 is now available. If you haven’t tested WordPress 3.2 yet, now is the time — please though, not on your live site unless you’re extra adventurous.

\n

We’ve handled a number of issues since RC1, including additional Twenty Eleven tweaks, a new theme support option for defaulting to randomized headers, and various RTL fixes.

\n

Plugin and theme authors, please test your plugins and themes now, so that if there is a compatibility issue, we can figure it out before the final release. Users are also encouraged to test things out. If you find problems, let your plugin/theme authors know so they can figure out the cause. If you are testing the release candidate and think you’ve found a bug, there are a few ways to let us know:

\n\n

To test WordPress 3.2, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the release candidate here (zip).

\n

If any known issues crop up, you’ll be able to find them here. If you’d like to know which levers to pull in your testing, check out a list of features in our Beta 1 post.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:73:"http://wordpress.org/news/2011/06/wordpress-3-2-release-candidate-2/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:1;a:6:{s:4:"data";s:41:"\n \n \n \n \n \n \n\n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:15:"Passwords Reset";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:50:"http://wordpress.org/news/2011/06/passwords-reset/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:59:"http://wordpress.org/news/2011/06/passwords-reset/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 21 Jun 2011 23:57:42 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:8:"Security";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=1908";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:376:"Earlier today the WordPress team noticed suspicious commits to several popular plugins (AddThis, WPtouch, and W3 Total Cache) containing cleverly disguised backdoors. We determined the commits were not from the authors, rolled them back, pushed updates to the plugins, and shut down access to the plugin repository while we looked for anything else unsavory. We’re [...]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"Matt Mullenweg";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:1290:"

Earlier today the WordPress team noticed suspicious commits to several popular plugins (AddThis, WPtouch, and W3 Total Cache) containing cleverly disguised backdoors. We determined the commits were not from the authors, rolled them back, pushed updates to the plugins, and shut down access to the plugin repository while we looked for anything else unsavory.

\n

We’re still investigating what happened, but as a prophylactic measure we’ve decided to force-reset all passwords on WordPress.org. To use the forums, trac, or commit to a plugin or theme, you’ll need to reset your password to a new one. (Same for bbPress.org and BuddyPress.org.)

\n

As a user, make sure to never use the same password for two different services, and we encourage you not to reset your password to be the same as your old one.

\n

Second, if you use AddThis, WPtouch, or W3 Total Cache and there’s a possibility you could have updated in the past day, make sure to visit your updates page and upgrade each to the latest version.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:55:"http://wordpress.org/news/2011/06/passwords-reset/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:2;a:6:{s:4:"data";s:47:"\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:31:"WordPress 3.2 Release Candidate";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:66:"http://wordpress.org/news/2011/06/wordpress-3-2-release-candidate/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:75:"http://wordpress.org/news/2011/06/wordpress-3-2-release-candidate/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 14 Jun 2011 04:28:39 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:3:{i:0;a:5:{s:4:"data";s:11:"Development";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:8:"Releases";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:2;a:5:{s:4:"data";s:7:"Testing";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=1890";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:341:"The first release candidate (RC1) for WordPress 3.2 is now available. An RC comes after the beta period and before final release. We think we’re done, but with tens of millions of users, a variety of configurations, and thousands of plugins, it’s possible we’ve missed something. So if you haven’t tested WordPress 3.2 yet, now [...]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Andrew Nacin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:2297:"

The first release candidate (RC1) for WordPress 3.2 is now available.

\n

An RC comes after the beta period and before final release. We think we’re done, but with tens of millions of users, a variety of configurations, and thousands of plugins, it’s possible we’ve missed something. So if you haven’t tested WordPress 3.2 yet, now is the time! Please though, not on your live site unless you’re extra adventurous.

\n

Things to keep in mind:

\n\n

If you are testing the release candidate and think you’ve found a bug, there are a few ways to let us know:

\n\n

To test WordPress 3.2, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the release candidate here (zip).

\n

Happy testing!

\n

If you’d like to know which levers to pull in your testing, check out a list of features in our Beta 1 post.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:71:"http://wordpress.org/news/2011/06/wordpress-3-2-release-candidate/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:3;a:6:{s:4:"data";s:47:"\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:40:"WordCamp San Francisco Call for Speakers";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:75:"http://wordpress.org/news/2011/05/wordcamp-san-francisco-call-for-speakers/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:84:"http://wordpress.org/news/2011/05/wordcamp-san-francisco-call-for-speakers/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 31 May 2011 18:59:48 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:3:{i:0;a:5:{s:4:"data";s:9:"Community";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:8:"WordCamp";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:2;a:5:{s:4:"data";s:4:"wcsf";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=1886";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:425:"The annual WordPress conference, WordCamp San Francisco (home of the very first WordCamp), is now accepting speaker applications. Past speakers have included core WordPress developers, people building successful businesses on WordPress, popular bloggers, people from related projects and businesses…you name it. In addition to Matt Mullenweg’s annual “State of the Word” address, WCSF has played [...]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"Jane Wells";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:905:"

The annual WordPress conference, WordCamp San Francisco (home of the very first WordCamp), is now accepting speaker applications. Past speakers have included core WordPress developers, people building successful businesses on WordPress, popular bloggers, people from related projects and businesses…you name it. In addition to Matt Mullenweg’s annual “State of the Word” address, WCSF has played host to talks by people like Mark Jaquith, Matt Cutts, Richard Stallman, Scott Berkun, Karl Fogel, Tim Ferriss, Tara Hunt, Chris Pirillo, and John Lilly. With 3 days of content this year instead of just one, the list of speakers should be even more impressive. If you think you’d make a good addition to this year’s roster, check out the WCSF Call for Speakers.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:80:"http://wordpress.org/news/2011/05/wordcamp-san-francisco-call-for-speakers/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:4;a:6:{s:4:"data";s:47:"\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:42:"WordPress 3.1.3 (and WordPress 3.2 Beta 2)";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:50:"http://wordpress.org/news/2011/05/wordpress-3-1-3/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:59:"http://wordpress.org/news/2011/05/wordpress-3-1-3/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 25 May 2011 18:43:28 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:3:{i:0;a:5:{s:4:"data";s:11:"Development";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:8:"Releases";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:2;a:5:{s:4:"data";s:8:"Security";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=1838";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:408:"WordPress 3.1.3 is available now and is a security update for all previous versions. It contains the following security fixes and enhancements: Various security hardening by Alexander Concha. Taxonomy query hardening by John Lamansky. Prevent sniffing out user names of non-authors by using canonical redirects. Props Verónica Valeros. Media security fixes by Richard Lundeen of Microsoft, Jesse Ou [...]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Mark Jaquith";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:3497:"

WordPress 3.1.3 is available now and is a security update for all previous versions. It contains the following security fixes and enhancements:

\n\n

Consult the change log for more details.

\n

Download WordPress 3.1.3 or update automatically from the Dashboard → Updates menu in your site’s admin area.

\n
\n

WordPress 3.2 Beta 2 also available

\n

In other news, our development of WordPress 3.2 development continues right on schedule. We released Beta 1 thirteen days ago, and today we’re putting out Beta 2 for your testing pleasure.

\n

This is still beta software, so we don’t recommend that you use it on production sites. But if you’re a plugin developer, a theme developer, or a site administrator, you should be running this on your test environments and reporting any bugs you find. If you’re a WordPress user who wants to open your presents early, take advantage of WordPress’ famous 5-minute install and spin up a secondary test site. Let us know what you think!

\n

The plan is to start putting out release candidates in early June, and to release WordPress 3.2 by the end of the month. The more you help us iron out issues during the beta period, the more likely we are to hit those dates. To misappropriate and mangle a quote from Mahatma Gandhi: “Be the punctuality you want to see in the WordPress.” In other words, test now!

\n

Here are some of the things that changed since Beta 1:

\n\n

Download WordPress 3.2 Beta 2

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:55:"http://wordpress.org/news/2011/05/wordpress-3-1-3/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:5;a:6:{s:4:"data";s:41:"\n \n \n \n \n \n \n\n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:21:"WordPress 3.2, Beta 1";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:55:"http://wordpress.org/news/2011/05/wordpress-3-2-beta-1/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:64:"http://wordpress.org/news/2011/05/wordpress-3-2-beta-1/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 12 May 2011 08:22:26 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:8:"Releases";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=1816";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:351:"It seems like just yesterday that we released WordPress 3.1, but it’s actually been almost three months. We’ve spent that time putting together a new release focused on performance improvements, and are ready for our first beta testers! As always, this is software still in development and we don’t recommend that you run it on [...]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"Jane Wells";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:4230:"

It seems like just yesterday that we released WordPress 3.1, but it’s actually been almost three months. We’ve spent that time putting together a new release focused on performance improvements, and are ready for our first beta testers!

\n

As always, this is software still in development and we don’t recommend that you run it on a production site — set up a test site just to play with the new version. If you break it (find a bug), please report it, and if you’re a developer, try to help us fix it.

\n

If all goes well, we hope to release WordPress 3.2 by the end of June, though that is (again, as always) subject to change depending on how the beta period goes. The more help we get with testing and fixing bugs, the sooner we will be able to release the final version. If you want to be a beta tester, you should check out the Codex article on how to report bugs.

\n

Here’s some of what’s new:

\n\n
\n
Be Aware:
\n
\n\n
\n
\n
Known Issues:
\n
\n\n
\n

Remember, if you find something you think is a bug, report it! You can bring it up in the alpha/beta forum, you can email it to the wp-testers list, or if you’ve confirmed that other people are experiencing the same bug, you can report it on the WordPress Core Trac. (I recommend starting in the forum or on the mailing list.)

\n

Theme and plugin authors, if you haven’t been following the 3.2 development cycle, please start now so that you can update your themes and plugins to be compatible with the newest version of WordPress.

\n

Note to developers: WordPress is built by the contributions of hundreds of developers. If you’d like to see this release come out on time, I encourage you to pitch in. Even if you don’t have time to do testing on the beta version, you could help us by contributing a fix for one of the many bugs we already know about.

\n

Download WordPress 3.2 Beta 1

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:60:"http://wordpress.org/news/2011/05/wordpress-3-2-beta-1/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:6;a:6:{s:4:"data";s:44:"\n \n \n \n \n \n \n \n\n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:15:"WordPress 3.1.2";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:50:"http://wordpress.org/news/2011/04/wordpress-3-1-2/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:59:"http://wordpress.org/news/2011/04/wordpress-3-1-2/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 26 Apr 2011 19:00:06 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:2:{i:0;a:5:{s:4:"data";s:8:"Releases";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:8:"Security";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=1801";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:376:"WordPress 3.1.2 is now available and is a security release for all previous WordPress versions. This release addresses a vulnerability that allowed Contributor-level users to improperly publish posts. The issue was discovered by a member of our security team, WordPress developer Andrew Nacin, with Benjamin Balter. We suggest you update to 3.1.2 promptly, especially if [...]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"Ryan Boren";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:980:"

WordPress 3.1.2 is now available and is a security release for all previous WordPress versions.

\n

This release addresses a vulnerability that allowed Contributor-level users to improperly publish posts.

\n

The issue was discovered by a member of our security team, WordPress developer Andrew Nacin, with Benjamin Balter.

\n

We suggest you update to 3.1.2 promptly, especially if you allow users to register as contributors or if you have untrusted users. This release also fixes a few bugs that missed the boat for version 3.1.1.

\n

Download 3.1.2 or update automatically from the Dashboard → Updates menu in your site’s admin area.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:55:"http://wordpress.org/news/2011/04/wordpress-3-1-2/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:7;a:6:{s:4:"data";s:44:"\n \n \n \n \n \n \n \n\n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:21:"Summer WordCamps 2011";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:55:"http://wordpress.org/news/2011/04/summer-wordcamps-201/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:64:"http://wordpress.org/news/2011/04/summer-wordcamps-201/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 16 Apr 2011 23:06:55 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:2:{i:0;a:5:{s:4:"data";s:9:"Community";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:6:"Events";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=1785";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:379:"Looking for something fun to do during your summer vacation? Why not check out a WordCamp! WordCamps are locally-organized casual conferences of, by, and for WordPress users, developers, and enthusiasts just like you. The focus of a WordCamp is to foster face-to-face connections and collaboration among the local WordPress crowd, but there are usually some out-of-towners [...]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"Jane Wells";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:6113:"

Looking for something fun to do during your summer vacation? Why not check out a WordCamp! WordCamps are locally-organized casual conferences of, by, and for WordPress users, developers, and enthusiasts just like you. The focus of a WordCamp is to foster face-to-face connections and collaboration among the local WordPress crowd, but there are usually some out-of-towners there as well. Here are the WordCamps that have been approved so far for the summer:

\n

April 16: WordCamp Seattle in Seattle, WA. This weekend! After taking a year off, WordCamp Seattle is back with tracks for bloggers, designers, and developers. This year they’ll feature a lineup including presentations by both local speakers and visitors like core committer Andrew Nacin, as well as an Ignite session of lightning talks at the end of the day.

\n

May 5: WordCamp Vancouver (Developer Edition) in Vancouver, BC. This one-day WordCamp is aimed purely at developers working on the WordPress platform, and will not have content aimed at bloggers (as previous Vancouver WordCamps have). I predict we will start seeing more of these types of niche WordCamps moving forward, because they will mean smaller, more intimate events that allow more collaboration (and make it easier to find venues!). Note that we’re working with the organizers to get the tickets to a more reasonable price, so keep your eyes open this week if you’ve held off on buying a ticket because of the price tag.

\n

May 7: WordCamp Switzerland in Brugg, Switzerland. This one will cover a wide range of topics, including getting started with WordPress, advanced development topics, BuddyPress, and an inside look at running a WordPress-based business.

\n

May 14: WordCamp Orange County in Orange, CA. Already sold out! Orange County had their first WordCamp last year, and the organizers have put together another great event this time around.

\n

May 14: WordCamp Paris in Paris, France. One of the last true unconference-style WordCamps, the Paris group will plan their schedule the morning of the event like they do at BarCamps. WordCamp Paris had one of the best WordCamp t-shirts ever a couple of years ago. And it’s in Paris in the spring.

\n

May 21–22: WordCamp Raleigh in Raleigh, NC. Repeat organizers from the Raleigh WordPress Meetup Group are just starting to select speakers and put together their plans, but if it is anything like last year, the venue will be packed with WordPress professionals (and maybe there will be cookies). I’ll be attending this one, as will Nacin.

\n

June 4–5: WordCamp Reno-Lake Tahoe in Reno, NV. Organized by a WordPress core UI group contributor, WordCamp Reno-Lake Tahoe is taking place in Reno and has a packed schedule full of visiting experts.

\n

June 11–12: WordCamp Kansas City in Overland Park, KS. With publisher, designer, and developer tracks, Kansas City’s WordCamp will have a little something for everyone, presented in large part by local speakers.

\n

June 17–19: WordCamp Columbus in Columbus, OH. WordCamp Columbus has a new organizer this year and is bringing the focus more firmly onto WordPress (and less on social media). Their 3-day event includes an entire day for newbies, and another for non-profits, a nice addition to the usual blogger/developer tracks.

\n

July 9–10: WordCamp Montreal in Montreal, Quebec. This group consistently puts on a great every year. If you register now, you can still get a $10 discount and get both days for only $30 (with sessions in both English and French to reflect the bilingual nature of the city). Montreal plays host to a number of festivals throughout the year, and this weekend is no different, including festivals for the arts, comedy, tango, and even circus arts.

\n

July 16: WordCamp San Diego in San Diego, CA. First WordCamp in San Diego! They have talking about this for over a year, and are now starting to really ramp up the planning. They’re finalizing their venue right now, and I would expect a great roster of speakers.

\n

July 16-17: WordCamp Portsmouth in Portsmouth, UK. The annual WordCamp UK that moves from city to city each year alights this year in Portsmouth. This one is notable because Mike Little, co-founder of WordPress, is part of the organizing team.

\n

July 23–24: WordCamp Boston in Boston, MA. Another one just about to lock down some details and get starting with speaker selection, etc. An easy train ride from so many places, and not in the middle of winter this year!

\n

July 30-31: WordCamp Chicago has new organizers and is a new venue this year. A call for speakers, supporters, and volunteers will likely be posted sometime next week.

\n

WordCamp Portland is looking for a venue before deciding on a date this year, as it has outgrown the space it’s used the past two years, but hopes to happen in September. If you would be interested in donating a venue to this popular event, please contact them.

\n

We’ll hold off on posting fall events until later in the summer since there a lot in the planning stages now. To get the most up-to-date information, visit WordCamp Central.

\n

Hope to see you at a WordCamp soon!

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:60:"http://wordpress.org/news/2011/04/summer-wordcamps-201/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:8;a:6:{s:4:"data";s:44:"\n \n \n \n \n \n \n \n\n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:15:"WordPress 3.1.1";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:50:"http://wordpress.org/news/2011/04/wordpress-3-1-1/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:59:"http://wordpress.org/news/2011/04/wordpress-3-1-1/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 05 Apr 2011 15:10:11 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:2:{i:0;a:5:{s:4:"data";s:8:"Releases";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:8:"Security";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=1762";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:397:"WordPress 3.1.1 is now available. This maintenance and security release fixes almost thirty issues in 3.1, including: Some security hardening to media uploads Performance improvements Fixes for IIS6 support Fixes for taxonomy and PATHINFO (/index.php/) permalinks Fixes for various query and taxonomy edge cases that caused some plugin compatibility issues Version 3.1.1 also addresses three [...]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"Ryan Boren";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:1395:"

WordPress 3.1.1 is now available. This maintenance and security release fixes almost thirty issues in 3.1, including:

\n\n

Version 3.1.1 also addresses three security issues discovered by WordPress core developers Jon Cave and Peter Westwood, of our security team. The first hardens CSRF prevention in the media uploader. The second avoids a PHP crash in certain environments when handling devilishly devised links in comments, and the third addresses an XSS flaw.

\n

We suggest you update to 3.1.1 promptly. Download 3.1.1 or update automatically from the Dashboard → Updates menu in your site’s admin area.

\n

Our release haiku:

\n

Only the geeks know
\nWhat half this stuff even means
\nDon’t worry — update

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:55:"http://wordpress.org/news/2011/04/wordpress-3-1-1/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:9;a:6:{s:4:"data";s:47:"\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:29:"WordPress Summer of Code 2011";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:64:"http://wordpress.org/news/2011/03/wordpress-summer-of-code-2011/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:73:"http://wordpress.org/news/2011/03/wordpress-summer-of-code-2011/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 30 Mar 2011 15:57:54 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:3:{i:0;a:5:{s:4:"data";s:9:"Community";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:11:"Development";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:2;a:5:{s:4:"data";s:4:"GSoC";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=1756";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:361:"For the past several years, WordPress has been a proud participant in the Google Summer of Code program (aka GSoC). We’ve been accepted as a mentoring organization again this year, and are looking forward to working with a select handful of talented college students who are interested in developing for WordPress. Student applications are currently [...]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"Jane Wells";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:2993:"

For the past several years, WordPress has been a proud participant in the Google Summer of Code program (aka GSoC). We’ve been accepted as a mentoring organization again this year, and are looking forward to working with a select handful of talented college students who are interested in developing for WordPress. Student applications are currently being accepted, and the deadline to apply is April 8. Are you a college student/developer looking for a summer challenge (or do you know one)? If so, read on to find out how you (or your friend) can make $5,000 developing for WordPress this summer. (Best. Summer. Job. Ever.)

\n

GSoC Logistics:

\n\n

WordPress logistics:

\n\n

If you’re a college student/developer, we encourage you to apply. If you’re a professor or a teacher of graduating high school seniors, encourage your students! If you just want to help us spread the word, download the WordPress GSoC flyer and post it on campus bulletin boards in your town. Remember, April 8 is the deadline to apply!

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:69:"http://wordpress.org/news/2011/03/wordpress-summer-of-code-2011/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}s:27:"http://www.w3.org/2005/Atom";a:1:{s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:0:"";s:7:"attribs";a:1:{s:0:"";a:3:{s:4:"href";s:31:"http://wordpress.org/news/feed/";s:3:"rel";s:4:"self";s:4:"type";s:19:"application/rss+xml";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:44:"http://purl.org/rss/1.0/modules/syndication/";a:2:{s:12:"updatePeriod";a:1:{i:0;a:5:{s:4:"data";s:6:"hourly";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:15:"updateFrequency";a:1:{i:0;a:5:{s:4:"data";s:1:"1";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}}}}}}s:4:"type";i:128;s:7:"headers";a:8:{s:6:"server";s:5:"nginx";s:4:"date";s:29:"Tue, 28 Jun 2011 15:12:55 GMT";s:12:"content-type";s:23:"text/xml; charset=UTF-8";s:10:"connection";s:5:"close";s:4:"vary";s:15:"Accept-Encoding";s:10:"x-pingback";s:36:"http://wordpress.org/news/xmlrpc.php";s:13:"last-modified";s:29:"Fri, 24 Jun 2011 23:15:22 GMT";s:4:"x-nc";s:11:"HIT luv 139";}s:5:"build";s:14:"20090627192103";}', 'no'); +INSERT INTO `wp_options` (`option_id`, `blog_id`, `option_name`, `option_value`, `autoload`) VALUES +(127, 0, '_transient_timeout_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1309317174', 'no'), +(128, 0, '_transient_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1309273974', 'no'), +(129, 0, '_transient_timeout_feed_a5420c83891a9c88ad2a4f04584a5efc', '1309317175', 'no'), +(130, 0, '_transient_feed_a5420c83891a9c88ad2a4f04584a5efc', 'a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:3:"\n \n";s:7:"attribs";a:1:{s:0:"";a:1:{s:7:"version";s:3:"2.0";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:1:{s:7:"channel";a:1:{i:0;a:6:{s:4:"data";s:72:"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:39:"WordPress Plugins » View: Most Popular";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:51:"http://wordpress.org/extend/plugins/browse/popular/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:39:"WordPress Plugins » View: Most Popular";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"language";a:1:{i:0;a:5:{s:4:"data";s:5:"en-US";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 28 Jun 2011 15:02:16 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:9:"generator";a:1:{i:0;a:5:{s:4:"data";s:36:"http://bbpress.org/?v=1.1-alpha-2855";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"item";a:15:{i:0;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:33:"uberdose on "All in One SEO Pack"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:65:"http://wordpress.org/extend/plugins/all-in-one-seo-pack/#post-753";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 30 Mar 2007 20:08:18 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:40:"753@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:92:"Automatically optimizes your Wordpress blog for Search Engines (Search Engine Optimization).";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:8:"uberdose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:1;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:30:"BraveNewCode Inc. on "WPtouch"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:54:"http://wordpress.org/extend/plugins/wptouch/#post-5468";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 01 May 2008 04:58:09 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"5468@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:150:"WPtouch: A simple, powerful and elegant mobile theme for your website.\n\nWPtouch automatically transforms your WordPress blog into an iPhone applicatio";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:17:"BraveNewCode Inc.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:2;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:30:"Alex Rabe on "NextGEN Gallery"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:62:"http://wordpress.org/extend/plugins/nextgen-gallery/#post-1169";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 23 Apr 2007 20:08:06 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"1169@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:108:"NextGEN Gallery is a full integrated Image Gallery plugin for WordPress with dozens of options and features.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:9:"Alex Rabe";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:3;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:36:"Frederick Townes on "W3 Total Cache"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:62:"http://wordpress.org/extend/plugins/w3-total-cache/#post-12073";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 29 Jul 2009 18:46:31 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"12073@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:135:"Improve site performance and user experience via caching: browser, page, object, database, minify and content delivery network support.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:16:"Frederick Townes";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:4;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:36:"Takayuki Miyoshi on "Contact Form 7"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:61:"http://wordpress.org/extend/plugins/contact-form-7/#post-2141";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 02 Aug 2007 12:45:03 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"2141@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:54:"Just another contact form plugin. Simple but flexible.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:16:"Takayuki Miyoshi";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:5;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:22:"edo888 on "GTranslate"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:58:"http://wordpress.org/extend/plugins/gtranslate/#post-14437";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 26 Nov 2009 17:35:42 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"14437@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:108:"Get translations with a single click between 58 languages (more than 98% of internet users) on your website!";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:6:"edo888";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:6;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:96:"nicashmu on "Post video players, slideshow albums, photo galleries and music / podcast playlist"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:81:"http://wordpress.org/extend/plugins/video-playlist-and-gallery-plugin/#post-23415";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 04 Jan 2011 16:16:09 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"23415@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:73:"Post your videos, photo galleries/flash slideshows easily and in seconds.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:8:"nicashmu";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:7;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:42:"Mike Challis on "Fast Secure Contact Form"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:63:"http://wordpress.org/extend/plugins/si-contact-form/#post-12636";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 27 Aug 2009 01:20:04 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"12636@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:131:"A super customizable contact form that lets your visitors send you email. Blocks all automated spammers. No templates to mess with.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Mike Challis";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:8;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:29:"Arne on "Google XML Sitemaps"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:70:"http://wordpress.org/extend/plugins/google-sitemap-generator/#post-132";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 09 Mar 2007 22:31:32 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:40:"132@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:105:"This plugin will generate a special XML sitemap which will help search engines to better index your blog.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Arne";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:9;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:38:"Brian Colinger on "WordPress Importer"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:66:"http://wordpress.org/extend/plugins/wordpress-importer/#post-18101";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 20 May 2010 17:42:45 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"18101@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:101:"Import posts, pages, comments, custom fields, categories, tags and more from a WordPress export file.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"Brian Colinger";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:10;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:38:"SEO Design Solutions on "SEO Ultimate"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:60:"http://wordpress.org/extend/plugins/seo-ultimate/#post-10779";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 21 May 2009 16:15:15 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"10779@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:147:"This all-in-one SEO plugin gives you control over title tags, noindex, meta tags, slugs, canonical, autolinks, 404 errors, rich snippets, and more.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:20:"SEO Design Solutions";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:11;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:37:"Michael Torbert on "WP Security Scan"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:63:"http://wordpress.org/extend/plugins/wp-security-scan/#post-4986";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 29 Mar 2008 20:05:44 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"4986@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:63:"Scans your WordPress installation for security vulnerabilities.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:15:"Michael Torbert";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:12;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:28:"casibus on "ourSTATS Widget"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:65:"http://wordpress.org/extend/plugins/ourstatsde-widget/#post-18282";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 29 May 2010 14:16:19 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"18282@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:51:"create a widget for the ourstats.de counter service";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:7:"casibus";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:13;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:29:"Joe Dolson on "WP to Twitter"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:60:"http://wordpress.org/extend/plugins/wp-to-twitter/#post-7509";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 30 Oct 2008 20:13:21 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"7509@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:150:"Posts a Twitter update when you update your WordPress blog or post to your blogroll, using your chosen URL shortening service. Requires PHP 5 and cURL";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"Joe Dolson";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:14;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:75:"_mjk_ on "AddThis featuring Sharing Buttons / Facebook Like / Tweet Button"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:54:"http://wordpress.org/extend/plugins/addthis/#post-8124";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 17 Dec 2008 16:03:39 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"8124@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:123:"The AddThis Social Bookmarking Widget allows any visitor to bookmark and share your site easily with many popular services.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"_mjk_";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}s:27:"http://www.w3.org/2005/Atom";a:1:{s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:0:"";s:7:"attribs";a:1:{s:0:"";a:3:{s:4:"href";s:52:"http://wordpress.org/extend/plugins/rss/view/popular";s:3:"rel";s:4:"self";s:4:"type";s:19:"application/rss+xml";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}}}}}}s:4:"type";i:128;s:7:"headers";a:8:{s:6:"server";s:5:"nginx";s:4:"date";s:29:"Tue, 28 Jun 2011 15:12:56 GMT";s:12:"content-type";s:23:"text/xml; charset=UTF-8";s:10:"connection";s:5:"close";s:4:"vary";s:15:"Accept-Encoding";s:13:"last-modified";s:19:"2007-03-30 20:08:18";s:14:"content-length";s:4:"7980";s:4:"x-nc";s:11:"HIT luv 139";}s:5:"build";s:14:"20090627192103";}', 'no'), +(131, 0, '_transient_timeout_feed_mod_a5420c83891a9c88ad2a4f04584a5efc', '1309317175', 'no'), +(132, 0, '_transient_feed_mod_a5420c83891a9c88ad2a4f04584a5efc', '1309273975', 'no'), +(133, 0, '_transient_timeout_feed_867bd5c64f85878d03a060509cd2f92c', '1309317175', 'no'); +INSERT INTO `wp_options` (`option_id`, `blog_id`, `option_name`, `option_value`, `autoload`) VALUES +(134, 0, '_transient_feed_867bd5c64f85878d03a060509cd2f92c', 'a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:3:"\n\n\n";s:7:"attribs";a:1:{s:0:"";a:1:{s:7:"version";s:3:"2.0";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:1:{s:7:"channel";a:1:{i:0;a:6:{s:4:"data";s:61:"\n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:16:"WordPress Planet";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:28:"http://planet.wordpress.org/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"language";a:1:{i:0;a:5:{s:4:"data";s:2:"en";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:47:"WordPress Planet - http://planet.wordpress.org/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"item";a:50:{i:0;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:59:"Weblog Tools Collection: WordPress Plugin Releases for 6/28";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10189";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/-xmy0S6Y-A4/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:846:"

New plugins

\n

Bulk Remove Comments allows you to remove all pending comments from your database with one click.

\n

WP-NOTCAPTCHA adds CAPTCHA anti-spam methods to WordPress on the comment form, registration form, or both. In order to post comments, users will have to range icons in right (upright) place.

\n

Updated plugins

\n

Amazon Tools allows you to display Amazon product information on your blog and earn commission through Amazon Associates.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 28 Jun 2011 13:00:28 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:1;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:28:"Matt: A WordPress Filesystem";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:21:"http://ma.tt/?p=38332";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:44:"http://ma.tt/2011/06/a-wordpress-filesystem/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:156:"

Joseph Scott has written pressfs, a WordPress filesystem. Cool!

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 27 Jun 2011 02:52:33 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:2;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:58:"Weblog Tools Collection: WordPress Theme Releases for 6/26";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10182";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/uYhx7NA4QO0/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1618:"

\n

Rocket Wood is a WordPress theme for business, portfolio, or corporate built with latest WordPress 3.1 features.

\n

\n

Simple is a flexible, minimal theme focused on great typography.

\n

\n

Urban Classic is great for a city business or corporation. It uses rich colours, valid xhtml, and three columns.

\n

\n

zeeSynergie is a two column WordPress theme in an elegant and sleek design that fits perfectly for a blog or small business website.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 26 Jun 2011 13:00:54 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:3;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:39:"Matt: Robustness Principle Reconsidered";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:21:"http://ma.tt/?p=38330";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:55:"http://ma.tt/2011/06/robustness-principle-reconsidered/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:206:"

The Robustness Principle Reconsidered in the most recent ACM Queue. Hat tip: Mark Pilgrim.

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 25 Jun 2011 18:28:39 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:4;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:45:"Matt: WP Blocked in Kazakhstan and Kyrgyzstan";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:21:"http://ma.tt/?p=38328";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:61:"http://ma.tt/2011/06/wp-blocked-in-kazakhstan-and-kyrgyzstan/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:593:"

Here’s an update on WordPress woes in Kazakhstan and Kyrgyzstan. As far as I know we’ve had no contact with KazakhTelecom. Typically this happens when they don’t like something a blog is saying, so they block or degrade service for everybody. The footer of the site links to Global Voices Anonymous Blogging with WordPress and Tor guide, which is still excellent all these years later.

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 25 Jun 2011 17:42:45 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:5;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:28:"Matt: Local Development Tips";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:21:"http://ma.tt/?p=38326";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:44:"http://ma.tt/2011/06/local-development-tips/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:154:"

Mark Jaquith writes WordPress local dev tips: DB & plugins.

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 25 Jun 2011 17:09:45 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:6;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:51:"Weblog Tools Collection: WordPress 3.2 RC2 Released";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10178";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/D7mZdCCaN7U/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1091:"

WordPress 3.2 RC2 has been released. There have been a few changes made since RC1, including a few Twenty Eleven tweaks, a new option to randomize header images, and some RTL fixes.

\n

This may be the last release candidate before the final, so now’s the time for developers to test their themes and plugins, if they have not done so already.

\n

If you find any bugs, please check the known issues first, then file a bug report. If you need any help, please feel free to contact the WordPress.org Support Forums.

\n

Have you tried WordPress 3.2 yet? What do you think so far?

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 25 Jun 2011 13:00:25 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:7;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:22:"Matt: MyISAM vs InnoDB";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:21:"http://ma.tt/?p=38323";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:38:"http://ma.tt/2011/06/myisam-vs-innodb/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:212:"

{EAV_BLOG_VER:c967aa2d93c7cb18} Mark Maunder writes Can WordPress Developers survive without InnoDB? MyISAM vs InnoDB benchmarks.

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 25 Jun 2011 02:47:27 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:8;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:43:"Dev Blog: WordPress 3.2 Release Candidate 2";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=1915";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:68:"http://wordpress.org/news/2011/06/wordpress-3-2-release-candidate-2/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1875:"

Howdy! The second release candidate for WordPress 3.2 is now available. If you haven’t tested WordPress 3.2 yet, now is the time — please though, not on your live site unless you’re extra adventurous.

\n

We’ve handled a number of issues since RC1, including additional Twenty Eleven tweaks, a new theme support option for defaulting to randomized headers, and various RTL fixes.

\n

Plugin and theme authors, please test your plugins and themes now, so that if there is a compatibility issue, we can figure it out before the final release. Users are also encouraged to test things out. If you find problems, let your plugin/theme authors know so they can figure out the cause. If you are testing the release candidate and think you’ve found a bug, there are a few ways to let us know:

\n\n

To test WordPress 3.2, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the release candidate here (zip).

\n

If any known issues crop up, you’ll be able to find them here. If you’d like to know which levers to pull in your testing, check out a list of features in our Beta 1 post.

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 24 Jun 2011 23:15:22 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Andrew Nacin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:9;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:59:"Weblog Tools Collection: WordPress Plugin Releases for 6/24";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10176";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/vxQ_-3Bj22o/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1627:"

New plugins

\n

Gravatar Reminder is a very simple plugin to remind people to get a Gravatar.

\n

WP Get allows you to display content in posts dynamically, depending on URL parameters.

\n

Updated plugins

\n

AddThis allows any visitor to bookmark and share your site easily with many popular services.

\n

Benchmark Email Lite creates a newsletter signup form widget.

\n

jQuery Vertical Accordion Menu creates vertical accordion menus from any WordPress custom menu.

\n

W3 Total Cache allows you to improve site performance and user experience via caching.

\n

WPtouch automatically transforms your WordPress blog into an iPhone application-style theme, complete with ajax loading articles and effects, when viewed from an iPhone, iPod touch, Android, Opera Mini, Palm Pre, Samsung touch and BlackBerry Storm/Torch mobile devices.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 24 Jun 2011 13:00:55 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:10;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:52:"Mark Jaquith: WordPress local dev tips: DB & plugins";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:39:"http://markjaquith.wordpress.com/?p=645";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:69:"http://markjaquith.wordpress.com/2011/06/24/wordpress-local-dev-tips/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:5542:"

Running a WordPress site on your local machine is a great way to do development. I’ve taken advantage of this to do development while on flights (and yes, I realize that in about 5 years it’s going to seem positively quaint that there used to be flights without Internet access).

\n

Today, I’d like to tackle two common issues when running a WordPress site locally:

\n
    \n
  1. Handling differing database connection details
  2. \n
  3. Handling plugins that can’t or shouldn’t run on a localhost
  4. \n
\n

My assumptions:

\n\n

Database connection details

\n

Your database user and password are (or should) be different on your localhost than they are on your production environment. One way to handle this is to have wp-config.php not be in version control and have everyone make their own. Boo. Stop taking things out of version control. Another solution I’ve seen is that people modify the wp-config.php and just try to be really careful not to commit their local changes. Again, boo.

\n

Here’s how to do it. Open up your wp-config.php file.

\n
\nif ( file_exists( dirname( __FILE__ ) . ''/local-config.php'' ) ) {\n  include( dirname( __FILE__ ) . ''/local-config.php'' );\n  define( ''WP_LOCAL_DEV'', true ); // We''ll talk about this later\n} else {\n  define( ''DB_NAME'',     ''production_db''       );\n  define( ''DB_USER'',     ''production_user''     );\n  define( ''DB_PASSWORD'', ''production_password'' );\n  define( ''DB_HOST'',     ''production_db_host''  );\n}\n
\n

Ignore the WP_LOCAL_DEV define… I’ll explain that later.

\n

Now open up your .gitignore file.

\n
\n/dir-that-contains-wp-config/local-config.php\n
\n

There. Now you can just create a local-config.php file and put your DB_* defines in there. And thanks to the .gitignore addition, you won’t have to worry about accidentally committing your local config.

\n

But what if you want to override other defines locally? Well, just modify them in wp-config.php like so:

\n
\nif ( !defined( ''SCRIPT_DEBUG'' ) )\n  define( ''SCRIPT_DEBUG'', false );\n
\n

And make sure they’re after the local-config.php block. Now you can override these defines as well.

\n

Plugins that are production-only

\n

I’m a big fan of VaultPress from Automattic. But this is not something you want to run on your localhost. Other backup plugins probably fall into this category of “production-only.”

\n

The bad way to do this is to remember to disable this plugin after you import a DB snapshot to your localhost. Boo. Remember WP_LOCAL_DEV that we set earlier? Let’s use it.

\n

I’ve written a quick “must-use” plugin to handle conditional plugin disabling. Get it here, and put it in the mu-plugins directory (create it in your WP content directory if you don’t already have one).

\n

The part you modify is at the bottom:

\n
\nnew CWS_Disable_Plugins_When_Local_Dev( array( ''vaultpress.php'' ) );\n
\n

I’ve jump-started you by putting vaultpress.php in there. Add plugin filenames to that array as necessary. Don’t forget that most plugins are in a subdirectory, so they’ll be in the form plugin-name/plugin-name.php.

\n

Now those plugins won’t be active when doing local dev (based on the presence of local-config.php).

\n
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 24 Jun 2011 11:17:15 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Mark Jaquith";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:11;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:54:"Weblog Tools Collection: WordPress.org Passwords Reset";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10172";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/ibwz2aG09YE/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1461:"

The WordPress team noticed some suspicious changes made to the AddThisWPtouch, and W3 Total Cache plugins in the official plugin directory. The three plugins have been updated to remove the suspicious code, and all account passwords on WordPress.org have been reset as a precautionary measure. If you have an account on WordPress.org, you’ll need to reset your password.

\n

To avoid future problems, or at the very least notice such activity sooner, the WordPress team has enabled notification emails for all plugin developers for whenever their plugin files are changed.

\n

If you have a WordPress.com account or a self-hosted WordPress blog, this reset did not affect your own user account, but you should probably immediately upgrade your copies of AddThis, WPtouch, and W3 Total Cache, if you’re using them of course.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 23 Jun 2011 13:00:55 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:12;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:99:"WordPress.tv: Ariz Jacinto Strategies for Using and Integrating WordPress CMS to PHP MVC Frameworks";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:27:"http://wordpress.tv/?p=6084";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:117:"http://wordpress.tv/2011/06/22/ariz-jacinto-strategies-for-using-and-integrating-wordpress-cms-to-php-mvc-frameworks/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1839:"
\n
\n
Ariz Jacinto CMS Doctor
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 22 Jun 2011 21:12:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"blazestreaming";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:13;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:86:"WordPress.tv: Bob Dunn How to Attract More Readers with a User-friendly WordPress Site";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:27:"http://wordpress.tv/?p=6088";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:104:"http://wordpress.tv/2011/06/22/bob-dunn-how-to-attract-more-readers-with-a-user-friendly-wordpress-site/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1852:"
\n
\n
Bob Dunn How To Attract More Readers
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 22 Jun 2011 20:53:50 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"blazestreaming";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:14;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:73:"WordPress.tv: Bret Bernhoft Installing and Using Facebook Domain Insights";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:27:"http://wordpress.tv/?p=6105";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:91:"http://wordpress.tv/2011/06/22/bret-bernhoft-installing-and-using-facebook-domain-insights/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1885:"
\n
\n
Bret Bernhoft Installing and Using Facebook Domain Insights
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 22 Jun 2011 20:47:52 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"blazestreaming";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:15;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:18:"Matt: ExpanDrive 2";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:21:"http://ma.tt/?p=38320";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:34:"http://ma.tt/2011/06/expandrive-2/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:401:"

ExpanDrive, a program I’ve used for years, allows you to mount FTP, SFTP, or S3 accounts as local drives on your computer on Mac or Windows. They just released their new Windows version, and it’s fast and slick. They support key authentication, which is my must-have feature.

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 22 Jun 2011 13:12:24 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:16;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:58:"Weblog Tools Collection: WordPress Theme Releases for 6/22";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10165";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/D9GIo78Jvh8/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1257:"

\n

Bright News is a simple, bright, and colorful theme that’s great for blogs, news sites and/or newsletters.

\n

\n

Minimal Xpert is a very clean and professional theme that is perfect for both business and blogging use.

\n

\n

Trending is a theme for bloggers that uses multiple nav menus, several sidebars, and custom post layouts.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 22 Jun 2011 13:00:08 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:17;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:25:"Dev Blog: Passwords Reset";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=1908";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:50:"http://wordpress.org/news/2011/06/passwords-reset/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1289:"

Earlier today the WordPress team noticed suspicious commits to several popular plugins (AddThis, WPtouch, and W3 Total Cache) containing cleverly disguised backdoors. We determined the commits were not from the authors, rolled them back, pushed updates to the plugins, and shut down access to the plugin repository while we looked for anything else unsavory.

\n

We’re still investigating what happened, but as a prophylactic measure we’ve decided to force-reset all passwords on WordPress.org. To use the forums, trac, or commit to a plugin or theme, you’ll need to reset your password to a new one. (Same for bbPress.org and BuddyPress.org.)

\n

As a user, make sure to never use the same password for two different services, and we encourage you not to reset your password to be the same as your old one.

\n

Second, if you use AddThis, WPtouch, or W3 Total Cache and there’s a possibility you could have updated in the past day, make sure to visit your updates page and upgrade each to the latest version.

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 21 Jun 2011 23:57:42 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"Matt Mullenweg";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:18;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:40:"Matt: Pharrell Williams at Home in Miami";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:21:"http://ma.tt/?p=38318";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:56:"http://ma.tt/2011/06/pharrell-williams-at-home-in-miami/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:210:"

The Selby goes with Pharrell Williams at Home in Miami. Explore the rest of the site, this is actually one of the less-interesting galleries.

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 21 Jun 2011 23:47:44 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:19;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:24:"Matt: Alec Baldwin on WP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:21:"http://ma.tt/?p=38316";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:40:"http://ma.tt/2011/06/alec-baldwin-on-wp/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:337:"

Alec Baldwin, my favorite character on 30 Rock, has a great-looking WordPress-powered site. It was also built by Alley Interactive who did the Observer site I blogged about the other day.

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 21 Jun 2011 16:22:29 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:20;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:77:"Weblog Tools Collection: What WordPress 3.2 items are you looking forward to?";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10162";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/qqnOY-Fc3y0/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1300:"

With the release of RC 1, WordPress 3.2 is fast approaching completion. Besides some notable changes, WordPress 3.2 has actually received a total of over 370 changes to date.

\n

Not only will this version of WordPress be dropping support for Internet Explorer 6 and requiring a minimum of PHP 5.2.4 and MySQL 5, but it will be introducing distraction free writing, a new Dashboard, Twenty Eleven, and an expanded Admin Bar.

\n

Which feature are you looking forward to the most?

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 21 Jun 2011 13:00:20 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:21;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:33:"Matt: Gopher dead, blogging lives";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:21:"http://ma.tt/?p=38314";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:48:"http://ma.tt/2011/06/gopher-dead-blogging-lives/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:178:"

Gopher dead, blogging lives. “If blogs are dead, what are we reading in Instapaper?”

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 20 Jun 2011 23:57:15 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:22;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:29:"Matt: Four Cool WP .gov Sites";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:21:"http://ma.tt/?p=38312";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:44:"http://ma.tt/2011/06/four-cool-wp-gov-sites/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1205:"

I was in Washington DC last week at the OpenGovDC conference where I participated on a panel about design. The organizers and many of the speakers were pretty Drupal-focused, but I did get to meet some folks and learn about the ever-growing use of WordPress inside the Beltway. Here are four:

\n
    \n
  1. CFPB, Consumer Financial Protection Bureau. This is the best-looking of the four, and 100% WordPress.
  2. \n
  3. MO.gov, Missouri State. Is there a LESS.gov? ;) The show-me state has a solid WP-as-CMS going here.
  4. \n
  5. Office of Compliance. As exciting as it sounds.
  6. \n
  7. NCCS.gov, National Center for Computational Sciences. Website is okay, but center is super-cool: they provide super-computing (tens of thousands of processors) for open scientific research.
  8. \n
\n

Any other favorites? Particularly well-designed ones like consumerfinance.gov.

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 20 Jun 2011 19:03:28 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:23;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:76:"Publisher Blog: Bangor Daily News: A complete publishing system on WordPress";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:43:"http://publisherblog.automattic.com/?p=1575";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:107:"http://publisherblog.automattic.com/2011/06/20/bangor-daily-news-a-complete-publishing-system-on-wordpress/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:8778:"

Check out the inspiring and detailed story about Bangor Daily News switching to a publishing system powered by WordPress and Google Docs, on Media Bistro. There’s also a screencast which outlines their new editorial workflow and a list of all the plugins you can install to run your own news site with WordPress (emphasis ours):

\n

The Bangor Daily News announced this week that it completed its full transition to open source blogging software, WordPress. And get this: The workflow integrates seamlessly with InDesign, meaning the paper now has one content management system for both its web and print operations. And if you’re auspicious enough, you can do it too — he’s open-sourced all the code!

\n

Rather than having to pay a licensing fee to a company that runs your content management system, what The BDN has set up is essentially free to run. Of course, there were upfront costs involved with paying freelancers to help write the plugins, and each month the website has to pay hosting fees, but the rest of the tools they use are free for everyone. WordPress is open source software that anyone can download and use. Google Docs is also a free product if your organization is small enough. [Media Bistro]

\n

We also had a chance to speak with William Davis, part of the Bangor Daily News team who led the integration who told us more about their decision to use WordPress:

\n

“We looked at several solutions, including proprietary hosted solutions, but we quickly decided they wouldn’t offer the flexibility we needed. We didn’t want to have to wait around for a corporation to develop any features we needed. We wanted to be able to get into the guts of our website if we needed to,” Davis said. “We’re growing quickly online, so we wanted a platform that allowed us to develop and deploy easily and with speed.”

\n

Through a series of plugins they developed specifically for their news site, and utilizing a few from the WordPress community, Bangor Daily News extended WordPress to do exactly what they needed it to do.

\n

“To us, that’s the beauty of WordPress: It’s more easily extendable than any other CMS. In nine months I haven’t hacked core once except to apply patches,” said Davis.

\n

Some of those plugins include, in Davis’ words:

\n\n

The changes to Bangor Daily News’ editorial workflow have been immediate and dramatic, but they have also seen an increase in productivity regarding their development cycle, and their site has benefited with an increase in traffic, too.

\n

“We started rolling things out in earnest in January, and the change has been dramatic. With one workflow with WordPress at the center we’ve cut down handling times for articles dramatically — we’re now able to get the news out faster than ever before. We’ve also seen a nice jump in search engine traffic thanks to more advanced URLs. Our build times are now down dramatically, as well — we can develop or patch features as quickly as they need to be addressed. The speed at which we break news requires a nimble API to develop with, and we’ve already been able to put it to the test, to great results.”

\n

They were also able to take advantage of WordPress’ APIs to integrate everything and even publish back to the print version in InDesign, creating a truly seamless publishing system.

\n

“I’m proud of how deeply we’ve integrated WordPress into everything we do. Our stories start in Google Docs, where our reporters write and our editors edit. Those are seamlessly and automatically moved to WordPress when they’re ready to be published — no more copying and pasting. We also use XML-RPC to easily find and bring content onto the print page in InDesign. We custom-built an InDesign plugin to accomplish that.”

\n


\nVisit Bangor Daily News

\n

Want WordPress for your site? Get.WP.com

\n
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 20 Jun 2011 16:29:05 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"Sara Rosso";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:24;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:59:"Weblog Tools Collection: WordPress Plugin Releases for 6/20";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10160";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/52JfEZE8aNw/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1440:"

New plugins

\n

Crawlable Facebook Comments retrieves Facebook comments (with authors, dates and replies) and makes them visible in your source code.

\n

HTML5 Video Shortcode allows you to quickly and easily add HTML5 Video tags as a shortcode.

\n

TentBlogger RSS Reminder is a simple way of capturing commenters and calling them to subscribe to your feed.

\n

Updated plugins

\n

Fast Secure Contact Form lets your visitors send you a quick e-mail message and blocks all common spammer tactics. Additionally, the plugin has a multi-form feature, optional extra fields, and an option to redirect visitors to any URL after the message is sent.

\n

SI CAPTCHA Anti-Spam adds CAPTCHA anti-spam methods to WordPress forms for comments, registration, lost password, login, or all. In order to post comments or register, users will have to type in the code shown on the image.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 20 Jun 2011 13:00:52 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:25;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:46:"Matt: Newspaper with WordPress And Google Docs";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:21:"http://ma.tt/?p=38310";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:62:"http://ma.tt/2011/06/newspaper-with-wordpress-and-google-docs/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:390:"

How To Run A News Site And Newspaper Using WordPress And Google Docs. This is why I love saying “scripting is the new literacy.” A bit of scripting glue can tie together Big Projects like WP and Google Docs to create something completely novel.

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 19 Jun 2011 14:53:39 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:26;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:28:"Matt: Achievement Design 101";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:21:"http://ma.tt/?p=38308";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:44:"http://ma.tt/2011/06/achievement-design-101/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:261:"

Gamasutra: Greg McClanahan’s Blog – Achievement Design 101. Long article, but worth getting through. I’ve had it in Instapaper forever.

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 19 Jun 2011 06:29:38 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:27;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:58:"Weblog Tools Collection: WordPress Theme Releases for 6/18";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10153";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/iAVj83SviLc/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1223:"

\n

Blueline is a two-column, fixed-width, and conservative theme.

\n

\n

Neuro is a clean and easily customizable HTML5 design, featuring customizable theme options, the Neuro slider, dynamic header for custom logo, and much more.

\n

\n

Vintage Spring is a very subtle, pretty theme with a vintage floral background.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 18 Jun 2011 13:00:14 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:28;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:23:"Matt: New York Observer";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:21:"http://ma.tt/?p=38305";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:39:"http://ma.tt/2011/06/new-york-observer/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:197:"

WordPress Publisher Blog: Influential Weekly The New York Observer Migrates from Drupal to WordPress. Cool!

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 18 Jun 2011 10:44:17 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:29;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:22:"Matt: Every 60 Seconds";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:21:"http://ma.tt/?p=38303";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:38:"http://ma.tt/2011/06/every-60-seconds/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:264:"

Every 60 seconds on the web there are 50+ WordPress downloads and 60+ new blogs created. Hat tip: Andrew Nacin.

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 17 Jun 2011 17:32:13 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:30;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:90:"Publisher Blog: Influential Weekly The New York Observer Migrates from Drupal to WordPress";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:43:"http://publisherblog.automattic.com/?p=1553";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:59:"http://publisherblog.automattic.com/2011/06/17/ny-observer/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:2737:"

Last week The New York Observer launched a redesign of Observer.com, and switched from Drupal to WordPress in the process.

\n

The site’s redesign “focused on cleaner presentation that would accommodate more breaking news and higher volume posting”, says Elizabeth Spiers, the paper’s editor-in-chief. [via]

\n

\n

[Visit Observer.com]

\n

Want WordPress for your site? Get.WP.com

\n
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 17 Jun 2011 14:33:08 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Paul Maiorana";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:31;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:52:"Publisher Blog: VentureBeat now on WordPress.com VIP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:43:"http://publisherblog.automattic.com/?p=1537";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:76:"http://publisherblog.automattic.com/2011/06/16/venturebeat-wordpresscom-vip/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:2821:"

At the end of last week VentureBeat.com migrated to WordPress.com VIP hosting

\n

Started by award-winning journalist Matt Marshall in 2006, VentureBeat has long been a WordPress showcase site. Today, nearly 30,000 articles have been published on VentureBeat, and the archives dates back to August, 2004. There is a lot of our tech industry history laid out in these articles, and insights throughout.

\n

Screenshot of VentureBeat.com Home page

\n

While monitoring the import to WordPress.com, it was cool to see the team growth and the breadth of topics covered increase tenfold from its inception.

\n

[Visit VentureBeat.com]

\n
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 16 Jun 2011 23:43:48 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"Lloyd Budd";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:32;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:66:"Alex King: Use $content_width to Set Width of oEmbeds in WordPress";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:27:"http://alexking.org/?p=5910";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:90:"http://alexking.org/blog/2011/06/16/use-content_width-to-set-width-of-oembeds-in-wordpress";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:876:"

If you want resulting oEmbed code to scale to a specific size (width) in WordPress, you can do this really easily by setting the $content_width global variable before calling your oEmbed processing.

\n

Example:

\n
\n
global $wp_embed, $content_width;\n$content_width = ''600''; // set to desired width\n$string_with_embedded_content = $wp_embed->autoembed($string_with_oembed_url);
\n
\n

I only recently ran across this feature (just recently had the need for it), though it’s been around for at least a year. In talking with some other devs, it seems to not be a widely known feature – hopefully this helps.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 16 Jun 2011 18:57:22 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Alex";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:33;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:59:"Weblog Tools Collection: WordPress Plugin Releases for 6/16";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10151";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/0JM90aTdb58/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1128:"

New plugins

\n

Delete Custom Fields will let you delete every instance of a custom field from your site.

\n

OfferMatch shows offers or ads related to your posts.

\n

SimpleTest for WordPress is a tool for WordPress plugin developers who want to create and run automated tests for their plugins.

\n

Toppa Plugin Libraries for WordPress includes several utilities for plugin developers. They facilitate the use of Agile coding techniques for developing WordPress plugins.

\n

Updated plugins

\n

WordPress Beta Tester allows you to easily upgrade to WordPress Beta releases.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 16 Jun 2011 13:00:53 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:34;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:51:"Weblog Tools Collection: WordPress 3.2 RC1 Released";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10147";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/gJZWiWEiR7I/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1254:"

WordPress 3.2 RC1 has been released. The release candidate stage is that special stage after beta which pretty much amounts to, “We think we’re done,” so now is the time for the community to really dig in, find bugs, and share some honest feedback.

\n

Over 360 tickets have been closed, so quite a bit has changed since WordPress 3.1, which means that now is definitely the time for plugin and theme developers to test their products before WordPress 3.2 is officially released.

\n

If you find any bugs, please check the known issues first, then file a bug report. If you need any help, please feel free to contact the WordPress.org Support Forums.

\n

What do you think of WordPress 3.2 so far?

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 15 Jun 2011 13:00:42 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:35;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:58:"Weblog Tools Collection: WordPress Theme Releases for 6/14";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10139";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/Ae8d6HG2OVM/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1314:"

\n

Cool Orange is a Sandbox child theme with a cool, muted blue vs. bright orange color scheme.

\n

\n

MYgRID2 is a minimalistic WordPress theme in grey-silver colors with fresh look, fancy css3 and jQurey effects, widget ready area, automatic post thumbnail, and more.

\n

\n

Vibrato is a bright, colorful, cheerful, and loud two column theme.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 14 Jun 2011 13:00:20 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:36;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:41:"Dev Blog: WordPress 3.2 Release Candidate";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=1890";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:66:"http://wordpress.org/news/2011/06/wordpress-3-2-release-candidate/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:2296:"

The first release candidate (RC1) for WordPress 3.2 is now available.

\n

An RC comes after the beta period and before final release. We think we’re done, but with tens of millions of users, a variety of configurations, and thousands of plugins, it’s possible we’ve missed something. So if you haven’t tested WordPress 3.2 yet, now is the time! Please though, not on your live site unless you’re extra adventurous.

\n

Things to keep in mind:

\n\n

If you are testing the release candidate and think you’ve found a bug, there are a few ways to let us know:

\n\n

To test WordPress 3.2, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the release candidate here (zip).

\n

Happy testing!

\n

If you’d like to know which levers to pull in your testing, check out a list of features in our Beta 1 post.

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 14 Jun 2011 04:28:39 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Andrew Nacin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:37;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:39:"Publisher Blog: LGBT Pride on WordPress";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:43:"http://publisherblog.automattic.com/?p=1532";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:71:"http://publisherblog.automattic.com/2011/06/13/lgbt-pride-on-wordpress/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:3114:"

This past weekend, there were many celebrations around the world for Gay and Lesbian Pride Month.

\n

We can’t help but feel a little extra pride that these GLBT sites are using WordPress:

\n\n

Know about another GLBT site that’s running on WordPress? Let us know in the comments!

\n

\n

Want WordPress for your site? Get.WordPress.com

\n
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 13 Jun 2011 16:30:47 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"Sara Rosso";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:38;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:52:"Weblog Tools Collection: bbPress 2.0 Beta 3 Released";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10134";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/9KRViPmPUBc/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1691:"

bbPress 2.0 Beta 3 has been released. bbPress development is on schedule with a hopeful final launch around the same time as WordPress 3.2. Since the previous release, the following changes have been made:

\n\n

Though the first release candidate should be the next step, bbPress 2 is still not necessarily ready for use on a live site yet, but bbPress theme and plugin developers are encouraged to start testing now. If you encounter any bugs, please report them to the bbPress Trac.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 13 Jun 2011 13:00:55 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:39;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:28:"bbPress: bbPress 2.0, Beta 3";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:25:"http://bbpress.org/?p=450";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:51:"http://bbpress.org/blog/2011/06/bbpress-2-0-beta-3/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:2270:"

Available immediately is bbPress 2.0 Beta 3, chock full of fixes and enhancements to help smooth out the integration of bbPress into your existing WordPress.org powered site. Your feedback has been super helpful, and there’s been so much testing we think a sarcastic cake-promising robot may be involved somewhere.

\n

You know the drill; this is still beta software, so don’t use it on your production sites. If you’re a plugin or theme developer, or a site administrator, run this only on test environments and report any bugs you find. If you’re a loyal bbPress user who’s anxious to see what the future of bbPress looks like, create a secondary WordPress test site and let us know what you think about it in the support forums. Extra points if you’re testing with WordPress Multisite.

\n

So far we’re right on schedule for this to be the final beta before we start packaging release candidates, with bbPress 2.0 by the end of June (in tandem with WordPress 3.2.) The more you kick the tires and the more miles you put on Beta 3 means a more dependable, longer lasting bbPress 2.0, so put your testing gloves on and take it for a spin!

\n

Here are some of the important changes since Beta 2:

\n\n

Download bbPress 2.0 Beta 3

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 12 Jun 2011 21:13:23 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:17:"John James Jacoby";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:40;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:59:"Weblog Tools Collection: WordPress Plugin Releases for 6/12";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10130";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/n37XuaJXCsk/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1898:"

New plugins

\n

Floating Tweets adds a floating, slide out tab containing the latest tweets from any twitter account.

\n

Random Redirect 2 makes it easier for the average user to create a stumbleupon-like experience on any website and restrict the randomness to certain tags and keywords.

\n

Social Metrics is a social media analytics tool you can use to track your WordPress blog performance on popular social networking websites and services.

\n

Updated plugins

\n

Amazon Tools allows you to retrieve and display Amazon product information in your blog.

\n

Simple Twitter Connect is a series of plugins that let you add any sort of Twitter functionality you like to a WordPress blog.

\n

Slick Contact Forms creates a widget, which adds a contact form using either a floating, drop down button or a sticky, sliding tab.

\n

Ultimate Post Type Manager allows you to easily customize post types.

\n

WordPress MU Sitewide Tags Pages provides a central area where all the posts on a WordPress MU or WordPress MS site can be collected.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 12 Jun 2011 13:00:10 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:41;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:56:"Alex King: Detecting Lightboxed Pages in WordPress Admin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:27:"http://alexking.org/?p=5897";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:81:"http://alexking.org/blog/2011/06/11/detecting-lightboxed-pages-in-wordpress-admin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:676:"

When you want inject something into the WordPress admin, you might not think to account for pages that load inside lightboxes (plugin updates, media upload, etc.). Generally, you don’t want to add your JS/CSS/etc. to these pages.

\n

To check for this type of page load, you can check for the IFRAME_REQUEST constant:

\n
\n
if ( !defined( ''IFRAME_REQUEST'' ) ) {\n  // do your normal WP admin page stuff here.\n  wp_enqueue_script(...\n}
\n
\n

Here is some sample code.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 11 Jun 2011 20:56:40 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Alex";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:42;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:58:"Weblog Tools Collection: WordPress Theme Releases for 6/10";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10124";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/xX-iBO-FTdI/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1297:"

\n

Classic is a bright, clean theme with three columns in black, grey and white, giving it a polished, professional look.

\n

\n

Grey Opaque is a clear and elegant grey theme with some very nice opaque-effects.

\n

\n

My Corporation is a clean, professional and modern business WordPress theme and portfolio, that is perfect for professionals and corporations.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 10 Jun 2011 13:00:10 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:43;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:49:"Weblog Tools Collection: WordPress Tavern is Back";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10120";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/lTZ0hDtomZA/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:973:"

Less than a month ago, Jeff announced the end of long-time WordPress community, news source, and podcast, WordPress Tavern. While all seemed lost, WordPress Tavern was picked up by an anonymous buyer, and as announced, Jeff will be containing to helm the community as always with no major changes in store for the foreseeable future.

\n

This is definitely a major victory for Jeff and the WordPress Tavern community, who’s forum had often been the go-to place for the greater WordPress community outside of the walls of the WordPress.org forums. Well done, Jeff!

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 09 Jun 2011 13:00:13 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:44;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:58:"Weblog Tools Collection: WordPress Plugin Releases for 6/8";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"http://weblogtoolscollection.com/?p=10117";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:73:"http://feedproxy.google.com/~r/weblogtoolscollection/UXMP/~3/qxhszR_ws2Q/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1128:"

New plugins

\n

Menu Humility shoves plugins with top level nav menus (below “Dashboard”) to the bottom of your Dashboard sidebar.

\n

Newsletter Sign-Up provides various ways to gain more subscribers to your mailing list.

\n

WYSIWYG Widgets allows you to create easy rich text widgets without having to know HTML.

\n

Updated plugins

\n

Query Multiple Taxonomies adds an advanced taxonomy navigation widget that lets users filter posts by multiple criteria.

\n

WordPress Beta Tester allows you to easily upgrade to WordPress Beta releases.

\n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 08 Jun 2011 13:00:54 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"James Huff";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:45;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:33:"WPTavern: More Of The Same Really";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:31:"http://www.wptavern.com/?p=5273";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:85:"http://feedproxy.google.com/~r/WordpressTavern/~3/J7a_UGSK-Ig/more-of-the-same-really";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:3092:"

Long time no see. Last time we talked, I announced that I’d be stepping away and selling off everything I accomplished with this site and the podcast. I’m happy to report that not only have I sold the content I generated to an awesome buyer, they have requested that I continue about my business with WPTavern, the forum and the podcast as if nothing has happened. The only distinct change that has happened and will be the only thing to happen for the foreseeable future is that the site will be owned by someone else. I am in charge of maintaining and operating the site as I normally would. At the request of the new owner, the terms of the deal as well as who the new owner is is under wraps.

\n

So what this means is that I’ll be re-opening the forum as well as upgrading it to get it going again. I’ll also be conducting an episode or two of WordPress Weekly in the near future and I’ll be writing about WordPress again here on the site. I’m sticking around without any influence by the new owner as to what to write, say, or do. In all honesty, it’s a pretty weird deal on paper but it’s a deal that’s allowed me the greatest flexibility as well as allowing me to fulfill a couple of financial obligations that sprang up. For instance, I was recently able to put money down on a used truck. You don’t know how much you need a truck until you become a home owner!

\n

There is one change that I’ll be making. Thanks to the deal, I’m going to remove all display advertising from the site and will not need to pursue affiliate links in future reviews I do. While any additional income is great, writing without the weight of needing money is actually a huge weight off my shoulders.

\n

Before we get back to regular programming around here, I want to thank all of you for your comments on my good bye post. It became obvious that the audience of WPTavern values my work much more than I do. So many of you wanted me to stick around in some form or fashion while many of you were pretty darn sad to see WPWeekly to go by the wayside. It’s comments like those that convinced me of negotiating a deal that allowed me to stay on and manage the site.

\n

I’m not guaranteeing that I’ll be publishing posts or that I’ll be active in the forum every day or producing a podcast every weekend but I am guaranteeing that I’ll be behind the bar, taking your orders and continuing to talk about this thing called WordPress which is pretty cool publishing software.

\n\n\n

Related posts:

  1. Thanks For Everything
  2. \n
  3. WPTavern Is My Home And You’re Just A Guest
  4. \n

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 08 Jun 2011 11:06:39 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:6:"Jeffro";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:46;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:61:"Mark Jaquith: How to write a WordPress plugin that I’ll use";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:39:"http://markjaquith.wordpress.com/?p=634";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:79:"http://markjaquith.wordpress.com/2011/06/07/how-to-write-a-plugin-that-ill-use/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:5631:"

I tend to be very fastidious about the WordPress plugins that I’ll install. I’ll often write my own simple version of a plugin rather than install one from someone else that does a bunch of stuff I don’t need. Here is my philosophy behind writing WordPress plugins, best witnessed through the plugins I’ve written lately, like Markdown on Save, Login Logo, Monitor Pages, and WP Help.

\n

Fewer features as a feature

\n

There are diminishing returns as you add features. That is, the more you add, the more likely you’re adding something that X % of your plugin’s users won’t ever use. Stick to the basics. I’ll often release a “0.1″ version of my plugin with really obvious features missing. When I get a flurry of “You should add Y!” messages, that validates my assumption that Y is necessary. Start with the smallest version that gets the core job done. Iterate as needed.

\n

Code the hell out of it

\n

The best part of starting small is that you can code the hell out of the plugin. Do it right. Make each line of code beautiful. Make sure you’re using WordPress APIs properly, and while you’re at it, add i18n support (WP Help 0.2 shipped with support for Bulgarian, German, Spanish, Mexican Spanish, Macedonian, Dutch, Brazilian Portuguese, and Russian!)

\n

Reduce UI

\n

If you can do without UI, don’t make it. Make every bit of UI prove its necessity. As an example, look at my Login Logo plugin. It has zero UI. It looks for the presence of a file named login-logo.png in the wp-content directory. The rest is “magic.” It measures the image, generates appropriate CSS, and gives you an instantly and easily customized login screen. The plugin is invisible. It’s completely out of sight, and out of mind. Finally, UI screens are generally where plugin authors make security mistakes. By skipping them, you make it much more likely that your plugin is secure.

\n

Code it for the future

\n

Don’t use deprecated APIs. Plan features in future-forward ways. Implement it in such a way that a site that is using the plugin doesn’t break if the plugin suddenly goes away. One example of this is my Markdown on Save plugin, which offers per-post Markdown formatting. First, I decided that for performance reasons, I wanted to parse Markdown then the post was updated, not on display. The obvious place to store the generated HTML was in the post_content_filtered column that WordPress provides (but does not use). But then I considered what would happen if someone deactivated the plugin or deleted the plugin. The code that accessed post_content_filtered would not work. Their blog would spit out raw Markdown. And any exports they made would export raw Markdown. What if they were exporting to WordPress.com which doesn’t support Markdown? So I decided to store the Markdown in post_content_filtered, and store the generated HTML in post_content. When you edit a Markdown-formatted post, it swaps in the Markdown, so you can edit that. But if you deactivated the plugin, it would fall back to the HTML. So you can feel free to use this plugin and know that if one day you wake up and you hate Markdown, all you have to do is deactivate the plugin and all of your posts are back to HTML.

\n

Secure it

\n

Writing secure WordPress plugins isn’t hard. It just takes awareness. Take the time to do your research and code a plugin that will be an asset to its users, not a liability.

\n
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 07 Jun 2011 17:53:59 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Mark Jaquith";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:47;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:72:"WordPress.tv: Isaac Keyet Create the Perfect Mobile WordPress Experience";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:27:"http://wordpress.tv/?p=6114";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:90:"http://wordpress.tv/2011/06/07/isaac-keyet-create-the-perfect-mobile-wordpress-experience/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1882:"
\n
\n
Isaac Keyet Create the Perfect Mobile WordPress Experience
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 07 Jun 2011 17:49:24 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"blazestreaming";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:48;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:48:"WordPress.tv: Alex King Interview With Nick Ohrn";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:27:"http://wordpress.tv/?p=6078";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:66:"http://wordpress.tv/2011/06/07/alex-king-interview-with-nick-ohrn/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1810:"
\n
\n
Alex King Interview With Nick Ohrn
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 07 Jun 2011 17:47:56 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"blazestreaming";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:49;a:6:{s:4:"data";s:13:"\n \n \n \n \n \n \n";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:64:"WordPress.tv: Andrew Nacin Ask Not What WordPress Can Do For You";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:27:"http://wordpress.tv/?p=6098";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:82:"http://wordpress.tv/2011/06/07/andrew-nacin-ask-not-what-wordpress-can-do-for-you/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1858:"
\n
\n
Andrew Nacin Ask Not What WordPress Can Do For You
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 07 Jun 2011 17:43:33 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"blazestreaming";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}}}}}}}}}}s:4:"type";i:128;s:7:"headers";a:9:{s:6:"server";s:5:"nginx";s:4:"date";s:29:"Tue, 28 Jun 2011 15:12:55 GMT";s:12:"content-type";s:15:"application/xml";s:10:"connection";s:5:"close";s:4:"vary";s:15:"Accept-Encoding";s:13:"last-modified";s:29:"Tue, 28 Jun 2011 15:00:15 GMT";s:14:"content-length";s:6:"115408";s:4:"x-nc";s:11:"HIT luv 138";s:13:"accept-ranges";s:5:"bytes";}s:5:"build";s:14:"20090627192103";}', 'no'); +INSERT INTO `wp_options` (`option_id`, `blog_id`, `option_name`, `option_value`, `autoload`) VALUES +(135, 0, '_transient_timeout_feed_mod_867bd5c64f85878d03a060509cd2f92c', '1309317175', 'no'), +(136, 0, '_transient_feed_mod_867bd5c64f85878d03a060509cd2f92c', '1309273975', 'no'), +(137, 0, '_transient_timeout_feed_57bc725ad6568758915363af670fd8bc', '1309317175', 'no'), +(138, 0, '_transient_feed_57bc725ad6568758915363af670fd8bc', 'a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:3:"\n \n";s:7:"attribs";a:1:{s:0:"";a:1:{s:7:"version";s:3:"2.0";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:1:{s:7:"channel";a:1:{i:0;a:6:{s:4:"data";s:72:"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:33:"WordPress Plugins » View: Newest";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:47:"http://wordpress.org/extend/plugins/browse/new/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:33:"WordPress Plugins » View: Newest";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"language";a:1:{i:0;a:5:{s:4:"data";s:5:"en-US";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 28 Jun 2011 15:05:28 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:9:"generator";a:1:{i:0;a:5:{s:4:"data";s:36:"http://bbpress.org/?v=1.1-alpha-2855";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"item";a:15:{i:0;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:37:"wokamoto on "Feed Template Customize"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:71:"http://wordpress.org/extend/plugins/feed-template-customize/#post-27843";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 28 Jun 2011 05:26:27 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27843@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:58:"This plugin modifies RSS feeds and ATOM feeds as you want.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:8:"wokamoto";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:1;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:50:"gopiplus on "Image vertical reel scroll slideshow"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:84:"http://wordpress.org/extend/plugins/image-vertical-reel-scroll-slideshow/#post-27803";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 26 Jun 2011 12:35:43 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27803@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:146:"Image vertical reel scroll slideshow wordpress plugin will create the vertical scroll slideshow on the website. It create the slideshow like reel.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:8:"gopiplus";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:2;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:40:"DaoByDesign on "Contact Form 7 Honeypot"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:71:"http://wordpress.org/extend/plugins/contact-form-7-honeypot/#post-27817";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 27 Jun 2011 03:15:47 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27817@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:69:"Contact Form 7 - Adds honeypot functionality to Contact Form 7 forms.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:11:"DaoByDesign";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:3;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:48:"Ciprian Turcu on "Custom Scheduled Posts Widget"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:77:"http://wordpress.org/extend/plugins/custom-scheduled-posts-widget/#post-27828";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 27 Jun 2011 13:18:47 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27828@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:127:"Custom skeduled Posts. This widget gives you the ability to show skeduled posts for start and end times on the widget content.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Ciprian Turcu";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:4;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:29:"FanQuake on "Handy Functions"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:63:"http://wordpress.org/extend/plugins/handy-functions/#post-27827";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 27 Jun 2011 12:04:39 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27827@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:133:"Handy Functions allows you to add and use the functions that you would normally add to your functions.php, in your WordPress backend.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:8:"FanQuake";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:5;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:14:"soso on "SMTP"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:52:"http://wordpress.org/extend/plugins/smtp/#post-27657";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 21 Jun 2011 18:31:57 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27657@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:81:"Allows you to configure and use a SMTP server (such as Gmail) for sending emails.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"soso";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:6;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:29:"Magic Toolbox on "Magic Zoom"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:72:"http://wordpress.org/extend/plugins/magic-zoom-for-wordpress/#post-27709";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 23 Jun 2011 16:14:17 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27709@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:105:"Magic Zoom will zoom into your images to reveal beautiful detail. Simply hover your mouse over the image.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Magic Toolbox";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:7;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:23:"Hax on "File Un-Attach"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:62:"http://wordpress.org/extend/plugins/file-un-attach/#post-27597";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 18 Jun 2011 23:24:16 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27597@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:118:"This plugin will allow you to attach a single file to multiple posts, but will also will allow you to detach any file.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:3:"Hax";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:8;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:23:"brent_ono on "Lavalinx"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:56:"http://wordpress.org/extend/plugins/lavalinx/#post-27480";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 14 Jun 2011 21:37:29 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27480@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:59:"SEO link building tool for dynamic, contextual link trades.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:9:"brent_ono";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:9;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:42:"jumpple on "Jumpple - Your website keeper"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:55:"http://wordpress.org/extend/plugins/jumpple/#post-27343";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 09 Jun 2011 15:34:32 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27343@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:197:"Jumpple is your website protector - this plugin will notify you if something is wrong with your site. See also: http://www.jumpple.com | FAQ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:7:"jumpple";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:10;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:30:"Shahnur Alam on "Quick Notice"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:60:"http://wordpress.org/extend/plugins/quick-notice/#post-27596";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 18 Jun 2011 17:14:42 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27596@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:66:"This plugin will help you to display a sticky message in your site";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Shahnur Alam";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:11;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:45:"Mindvalley on "Mindvalley Comments Moderator"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:76:"http://wordpress.org/extend/plugins/mindvalley-comment-moderator/#post-27743";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 24 Jun 2011 12:03:24 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27743@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:76:"Create a custom role that enables only Comment Moderation actions and pages.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"Mindvalley";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:12;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:51:"hyperdude on "Alan''s BBC Technolgy News RSS Widget"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:77:"http://wordpress.org/extend/plugins/bbc-tech-news-rss-feed-widget/#post-27753";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 24 Jun 2011 19:42:04 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27753@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:78:"This plug-in adds a very simple RSS feed from the BBC technology news section.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:9:"hyperdude";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:13;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:36:"themecrest1 on "Login With Facebook"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:67:"http://wordpress.org/extend/plugins/facebook-with-login/#post-27590";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 18 Jun 2011 09:57:41 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27590@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:59:"The simplest way to access site with Your Facebook Account.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:11:"themecrest1";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:14;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:33:"mucash on "MuCash Micro-payments"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:69:"http://wordpress.org/extend/plugins/mucash-micro-payments/#post-27584";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 17 Jun 2011 19:59:38 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27584@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:148:"MuCash is micro-payments made simple. With just a few clicks your readers can buy articles, make donations, and more... as small as a single penny!";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:6:"mucash";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}s:27:"http://www.w3.org/2005/Atom";a:1:{s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:0:"";s:7:"attribs";a:1:{s:0:"";a:3:{s:4:"href";s:48:"http://wordpress.org/extend/plugins/rss/view/new";s:3:"rel";s:4:"self";s:4:"type";s:19:"application/rss+xml";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}}}}}}s:4:"type";i:128;s:7:"headers";a:8:{s:6:"server";s:5:"nginx";s:4:"date";s:29:"Tue, 28 Jun 2011 15:12:57 GMT";s:12:"content-type";s:23:"text/xml; charset=UTF-8";s:10:"connection";s:5:"close";s:4:"vary";s:15:"Accept-Encoding";s:13:"last-modified";s:19:"2011-06-28 05:26:27";s:14:"content-length";s:4:"7868";s:4:"x-nc";s:11:"HIT luv 139";}s:5:"build";s:14:"20090627192103";}', 'no'), +(139, 0, '_transient_timeout_feed_mod_57bc725ad6568758915363af670fd8bc', '1309317175', 'no'), +(140, 0, '_transient_feed_mod_57bc725ad6568758915363af670fd8bc', '1309273975', 'no'), +(143, 0, '_transient_timeout_feed_1a5f760f2e2b48827d4974a60857e7c2', '1309317176', 'no'), +(144, 0, '_transient_feed_1a5f760f2e2b48827d4974a60857e7c2', 'a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:3:"\n \n";s:7:"attribs";a:1:{s:0:"";a:1:{s:7:"version";s:3:"2.0";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:1:{s:7:"channel";a:1:{i:0;a:6:{s:4:"data";s:72:"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:43:"WordPress Plugins » View: Recently Updated";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:51:"http://wordpress.org/extend/plugins/browse/updated/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:43:"WordPress Plugins » View: Recently Updated";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"language";a:1:{i:0;a:5:{s:4:"data";s:5:"en-US";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 28 Jun 2011 15:08:08 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:9:"generator";a:1:{i:0;a:5:{s:4:"data";s:36:"http://bbpress.org/?v=1.1-alpha-2855";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"item";a:15:{i:0;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:31:"paul.irish on "Infinite Scroll"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:62:"http://wordpress.org/extend/plugins/infinite-scroll/#post-6138";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 29 Jun 2008 23:30:06 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"6138@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:102:"Automatically append the next page of posts (via AJAX) to your page when a user scrolls to the bottom.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:10:"paul.irish";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:1;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:48:"Ciprian Turcu on "Custom Scheduled Posts Widget"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:77:"http://wordpress.org/extend/plugins/custom-scheduled-posts-widget/#post-27828";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 27 Jun 2011 13:18:47 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27828@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:127:"Custom skeduled Posts. This widget gives you the ability to show skeduled posts for start and end times on the widget content.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Ciprian Turcu";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:2;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:29:"FanQuake on "Handy Functions"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:63:"http://wordpress.org/extend/plugins/handy-functions/#post-27827";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 27 Jun 2011 12:04:39 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27827@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:133:"Handy Functions allows you to add and use the functions that you would normally add to your functions.php, in your WordPress backend.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:8:"FanQuake";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:3;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:48:"edward mindreantre on "ThreeWP Activity Monitor"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:72:"http://wordpress.org/extend/plugins/threewp-activity-monitor/#post-16151";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 23 Feb 2010 00:46:40 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"16151@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:53:"Track and display site or network-wide user activity.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:18:"edward mindreantre";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:4;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:29:"Magic Toolbox on "Magic Zoom"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:72:"http://wordpress.org/extend/plugins/magic-zoom-for-wordpress/#post-27709";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 23 Jun 2011 16:14:17 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27709@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:105:"Magic Zoom will zoom into your images to reveal beautiful detail. Simply hover your mouse over the image.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Magic Toolbox";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:5;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:25:"rewish on "WP Zen-Coding"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:61:"http://wordpress.org/extend/plugins/wp-zen-coding/#post-16056";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 17 Feb 2010 13:32:18 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"16056@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:62:"Plugin to introduce `Zen Coding` into the admin page(wp-admin)";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:6:"rewish";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:6;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:43:"edward mindreantre on "ThreeWP Ajax Search"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:67:"http://wordpress.org/extend/plugins/threewp-ajax-search/#post-23393";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 03 Jan 2011 16:29:02 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"23393@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:106:"Enables ajax searches for content. The default settings work automatically with Twentyten and derivatives.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:18:"edward mindreantre";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:7;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:33:"AI.Takeuchi on "Cf Shopping Cart"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:64:"http://wordpress.org/extend/plugins/cf-shopping-cart/#post-15748";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 04 Feb 2010 09:02:18 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"15748@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:150:"Cf Shopping Cart is simple shopping cart plugin for WordPress.\nThis plugin be working with Custom Field and more plugins.\nThereby website can have fle";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:11:"AI.Takeuchi";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:8;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:26:"bestwebsoft on "Portfolio"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:57:"http://wordpress.org/extend/plugins/portfolio/#post-25798";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 11 Apr 2011 17:34:04 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"25798@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:80:"Portfolio allows you to create a page with information about your past projects.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:11:"bestwebsoft";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:9;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:40:"Ronak Gandhi on "Awesome Flickr Gallery"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:77:"http://wordpress.org/extend/plugins/awesome-flickr-gallery-plugin/#post-26391";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 07 May 2011 15:51:14 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"26391@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:128:"Create a photo gallery of your Flickr photos on your WordPress enabled website\nenabling you to customize it the way you like it.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Ronak Gandhi";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:10;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:29:"Desertsnowman on "DB Toolkit"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:58:"http://wordpress.org/extend/plugins/db-toolkit/#post-18292";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 30 May 2010 11:57:27 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"18292@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:112:"Database Interface Toolkit creates interfaces (capture/update forms, reports, charts etc.) from database tables.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Desertsnowman";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:11;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:39:"timothyja on "Linux Promotional Plugin"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:72:"http://wordpress.org/extend/plugins/linux-promotional-plugin/#post-27777";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 25 Jun 2011 15:05:06 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"27777@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:108:"A SMALL popup with customizable message about the avaliablity of a free OS replacement for Windows, and Mac.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:9:"timothyja";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:12;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:31:"mathzqy on "Latex for WordPess"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:52:"http://wordpress.org/extend/plugins/latex/#post-4855";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 16 Mar 2008 12:46:42 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:41:"4855@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:95:"This plugin provide an easy and elegant solution to add and display your mathematical fourmula.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:7:"mathzqy";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:13;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:42:"Hugh WIll Fayle on "Multi Post Newsletter"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:69:"http://wordpress.org/extend/plugins/multi-post-newsletter/#post-23459";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 06 Jan 2011 07:36:45 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"23459@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:150:"The Multi Post Newsletter is a simple plugin, which provides to link several posts to a newsletter. This procedure is similar to the categories. Withi";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:15:"Hugh WIll Fayle";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:14;a:6:{s:4:"data";s:30:"\n \n \n \n \n \n \n ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:28:"Stargazer on "WP-BlackCheck"";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:61:"http://wordpress.org/extend/plugins/wp-blackcheck/#post-11090";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 05 Jun 2009 12:52:18 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:42:"11090@http://wordpress.org/extend/plugins/";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:125:"WP-BlackCheck is an Anti-Spam Solution for Wordpress blocking spam using local detection and a centralized Blacklist Service.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:9:"Stargazer";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}s:27:"http://www.w3.org/2005/Atom";a:1:{s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:0:"";s:7:"attribs";a:1:{s:0:"";a:3:{s:4:"href";s:52:"http://wordpress.org/extend/plugins/rss/view/updated";s:3:"rel";s:4:"self";s:4:"type";s:19:"application/rss+xml";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}}}}}}s:4:"type";i:128;s:7:"headers";a:8:{s:6:"server";s:5:"nginx";s:4:"date";s:29:"Tue, 28 Jun 2011 15:12:58 GMT";s:12:"content-type";s:23:"text/xml; charset=UTF-8";s:10:"connection";s:5:"close";s:4:"vary";s:15:"Accept-Encoding";s:13:"last-modified";s:19:"2008-06-29 23:30:06";s:14:"content-length";s:4:"8009";s:4:"x-nc";s:11:"HIT luv 139";}s:5:"build";s:14:"20090627192103";}', 'no'), +(145, 0, '_transient_timeout_feed_mod_1a5f760f2e2b48827d4974a60857e7c2', '1309317176', 'no'), +(146, 0, '_transient_feed_mod_1a5f760f2e2b48827d4974a60857e7c2', '1309273976', 'no'), +(149, 0, 'catablog-options', 'a:18:{s:7:"version";s:7:"1.2.9.7";s:14:"thumbnail-size";s:3:"160";s:10:"image-size";s:3:"600";s:16:"background-color";s:7:"#000000";s:12:"paypal-email";s:0:"";s:17:"keep-aspect-ratio";b:1;s:16:"lightbox-enabled";b:1;s:15:"lightbox-render";b:0;s:17:"lightbox-selector";s:15:".catablog-image";s:11:"link-target";s:0:"";s:17:"link-relationship";s:0:"";s:10:"view-theme";s:277:"
\r\n
\r\n %MAIN-IMAGE%\r\n %SUB-IMAGES%\r\n
\r\n \r\n

%TITLE-LINK%

\r\n \r\n
\r\n

%DESCRIPTION%

\r\n %BUY-NOW-BUTTON%\r\n
\r\n \r\n
";s:11:"view-buynow";s:0:"";s:18:"filter-description";b:1;s:17:"nl2br-description";b:1;s:12:"public_posts";b:0;s:16:"public_post_slug";s:14:"catablog-items";s:15:"public_tax_slug";s:14:"catablog-terms";}', 'yes'), +(159, 0, '_site_transient_update_themes', 'O:8:"stdClass":1:{s:12:"last_checked";i:1309377547;}', 'yes'), +(337, 0, '_site_transient_timeout_wporg_theme_feature_list', '1309388348', 'yes'); +INSERT INTO `wp_options` (`option_id`, `blog_id`, `option_name`, `option_value`, `autoload`) VALUES +(338, 0, '_site_transient_wporg_theme_feature_list', 'a:5:{s:6:"Colors";a:15:{i:0;s:5:"black";i:1;s:4:"blue";i:2;s:5:"brown";i:3;s:4:"gray";i:4;s:5:"green";i:5;s:6:"orange";i:6;s:4:"pink";i:7;s:6:"purple";i:8;s:3:"red";i:9;s:6:"silver";i:10;s:3:"tan";i:11;s:5:"white";i:12;s:6:"yellow";i:13;s:4:"dark";i:14;s:5:"light";}s:7:"Columns";a:6:{i:0;s:10:"one-column";i:1;s:11:"two-columns";i:2;s:13:"three-columns";i:3;s:12:"four-columns";i:4;s:12:"left-sidebar";i:5;s:13:"right-sidebar";}s:5:"Width";a:2:{i:0;s:11:"fixed-width";i:1;s:14:"flexible-width";}s:8:"Features";a:18:{i:0;s:8:"blavatar";i:1;s:10:"buddypress";i:2;s:17:"custom-background";i:3;s:13:"custom-colors";i:4;s:13:"custom-header";i:5;s:11:"custom-menu";i:6;s:12:"editor-style";i:7;s:21:"featured-image-header";i:8;s:15:"featured-images";i:9;s:20:"front-page-post-form";i:10;s:19:"full-width-template";i:11;s:12:"microformats";i:12;s:12:"post-formats";i:13;s:20:"rtl-language-support";i:14;s:11:"sticky-post";i:15;s:13:"theme-options";i:16;s:17:"threaded-comments";i:17;s:17:"translation-ready";}s:7:"Subject";a:3:{i:0;s:7:"holiday";i:1;s:13:"photoblogging";i:2;s:8:"seasonal";}}', 'yes'), +(265, 0, 'theme_mods_twentyten', 'a:1:{i:0;b:0;}', 'yes'), +(161, 0, 'theme_mods_savinggrace', 'a:1:{i:0;b:0;}', 'yes'), +(162, 0, 'widget_woo_tabs', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(163, 0, 'widget_woo_adwidget', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(164, 0, 'widget_woo_blogauthorinfo', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(165, 0, 'widget_woo_flickr', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(166, 0, 'widget_woo_search', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(167, 0, 'widget_woo_twitter', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(168, 0, 'widget_woo_subscribe', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(169, 0, 'widget_woo_archives', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'yes'), +(170, 0, 'woo_framework_version', '4.1.6', 'yes'), +(171, 0, 'woo_custom_seo_template', 'a:3:{i:0;a:5:{s:4:"name";s:10:"seo_info_1";s:3:"std";s:0:"";s:5:"label";s:4:"SEO ";s:4:"type";s:4:"info";s:4:"desc";s:234:"Additional SEO custom fields available: Custom Page Titles, Custom Descriptions, Custom Keywords. Go to SEO Settings page to activate.";}i:1;a:5:{s:4:"name";s:10:"seo_follow";s:3:"std";s:5:"false";s:5:"label";s:16:"SEO - Set follow";s:4:"type";s:8:"checkbox";s:4:"desc";s:77:"Make links from this post/page followable by search engines.";}i:2;a:5:{s:4:"name";s:11:"seo_noindex";s:3:"std";s:5:"false";s:5:"label";s:13:"SEO - Noindex";s:4:"type";s:8:"checkbox";s:4:"desc";s:56:"Set the Page/Post to not be indexed by a search engines.";}}', 'yes'), +(172, 0, 'woo_options', 'a:71:{s:18:"woo_alt_stylesheet";s:11:"default.css";s:8:"woo_logo";s:66:"http://localhost/originalhouse/wp-content/uploads/2011/06/logo.gif";s:13:"woo_texttitle";s:5:"false";s:19:"woo_font_site_title";a:5:{s:4:"size";s:2:"40";s:4:"unit";s:2:"px";s:4:"face";s:43:"Calibri, Candara, Segoe, Optima, sans-serif";s:5:"style";s:6:"normal";s:5:"color";s:7:"#FFFFFF";}s:11:"woo_tagline";s:5:"false";s:16:"woo_font_tagline";a:5:{s:4:"size";s:2:"18";s:4:"unit";s:2:"px";s:4:"face";s:17:"Yanone Kaffeesatz";s:5:"style";s:6:"normal";s:5:"color";s:7:"#999999";}s:18:"woo_custom_favicon";s:0:"";s:20:"woo_google_analytics";s:0:"";s:12:"woo_feed_url";s:0:"";s:19:"woo_subscribe_email";s:0:"";s:21:"woo_contactform_email";s:0:"";s:14:"woo_custom_css";s:0:"";s:12:"woo_comments";s:4:"post";s:16:"woo_post_content";s:7:"excerpt";s:15:"woo_post_author";s:5:"false";s:20:"woo_breadcrumbs_show";s:4:"true";s:19:"woo_pagination_type";s:15:"paginated_links";s:14:"woo_body_color";s:7:"#000000";s:12:"woo_body_img";s:0:"";s:15:"woo_body_repeat";s:8:"repeat-y";s:12:"woo_body_pos";s:10:"top center";s:14:"woo_link_color";s:7:"#e6362d";s:20:"woo_link_hover_color";s:7:"#e6802d";s:16:"woo_button_color";s:0:"";s:14:"woo_typography";s:4:"true";s:13:"woo_font_body";a:5:{s:4:"size";s:2:"18";s:4:"unit";s:2:"px";s:4:"face";s:17:"Yanone Kaffeesatz";s:5:"style";s:6:"normal";s:5:"color";s:7:"#999999";}s:12:"woo_font_nav";a:5:{s:4:"size";s:2:"20";s:4:"unit";s:2:"px";s:4:"face";s:17:"Yanone Kaffeesatz";s:5:"style";s:6:"normal";s:5:"color";s:7:"#555555";}s:19:"woo_font_post_title";a:5:{s:4:"size";s:2:"24";s:4:"unit";s:2:"px";s:4:"face";s:17:"Yanone Kaffeesatz";s:5:"style";s:4:"bold";s:5:"color";s:7:"#222222";}s:18:"woo_font_post_meta";a:5:{s:4:"size";s:2:"12";s:4:"unit";s:2:"px";s:4:"face";s:10:"Droid Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#999999";}s:19:"woo_font_post_entry";a:5:{s:4:"size";s:2:"16";s:4:"unit";s:2:"px";s:4:"face";s:10:"Droid Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#999999";}s:22:"woo_font_widget_titles";a:5:{s:4:"size";s:2:"16";s:4:"unit";s:2:"px";s:4:"face";s:20:"Terminal Dosis Light";s:5:"style";s:4:"bold";s:5:"color";s:7:"#555555";}s:14:"woo_home_intro";s:58:"Si tu casa se parece a todas, nosotros no tenemos la culpa";s:10:"woo_slider";s:5:"false";s:18:"woo_slider_entries";s:2:"19";s:18:"woo_slider_content";s:5:"false";s:16:"woo_slider_speed";s:3:"500";s:15:"woo_slider_auto";s:4:"true";s:19:"woo_slider_interval";s:4:"6000";s:15:"woo_site_layout";s:11:"layout-full";s:22:"woo_post_image_support";s:4:"true";s:14:"woo_pis_resize";s:4:"true";s:17:"woo_pis_hard_crop";s:4:"true";s:10:"woo_resize";s:4:"true";s:12:"woo_auto_img";s:5:"false";s:11:"woo_thumb_w";s:3:"160";s:11:"woo_thumb_h";s:3:"160";s:15:"woo_thumb_align";s:9:"alignleft";s:16:"woo_thumb_single";s:4:"true";s:12:"woo_single_w";s:3:"200";s:12:"woo_single_h";s:3:"200";s:22:"woo_thumb_single_align";s:10:"alignright";s:13:"woo_rss_thumb";s:5:"false";s:17:"woo_footer_social";s:4:"true";s:19:"woo_footer_aff_link";s:0:"";s:15:"woo_footer_left";s:5:"false";s:20:"woo_footer_left_text";s:0:"";s:16:"woo_footer_right";s:5:"false";s:21:"woo_footer_right_text";s:0:"";s:11:"woo_connect";s:4:"true";s:17:"woo_connect_title";s:0:"";s:19:"woo_connect_content";s:0:"";s:25:"woo_connect_newsletter_id";s:0:"";s:15:"woo_connect_rss";s:4:"true";s:19:"woo_connect_twitter";s:37:"http://twitter.com/#!/originalhousesl";s:20:"woo_connect_facebook";s:81:"http://www.facebook.com/pages/ORIGINAL-HOUSE-Mobiliario-y-decoracion/161365001363";s:19:"woo_connect_blogger";s:42:"http://elblogdeoriginalhouse.blogspot.com/";s:19:"woo_connect_youtube";s:0:"";s:18:"woo_connect_flickr";s:0:"";s:20:"woo_connect_linkedin";s:0:"";s:21:"woo_connect_delicious";s:0:"";s:19:"woo_connect_related";s:5:"false";}', 'yes'), +(173, 0, 'woo_template', 'a:78:{i:0;a:3:{s:4:"name";s:16:"General Settings";s:4:"type";s:7:"heading";s:4:"icon";s:7:"general";}i:1;a:6:{s:4:"name";s:16:"Theme Stylesheet";s:4:"desc";s:44:"Select your themes alternative color scheme.";s:2:"id";s:18:"woo_alt_stylesheet";s:3:"std";s:11:"default.css";s:4:"type";s:6:"select";s:7:"options";a:5:{i:0;s:8:"blue.css";i:1;s:11:"default.css";i:2;s:9:"green.css";i:3;s:9:"light.css";i:4;s:7:"red.css";}}i:2;a:5:{s:4:"name";s:11:"Custom Logo";s:4:"desc";s:63:"Upload a logo for your theme, or specify an image URL directly.";s:2:"id";s:8:"woo_logo";s:3:"std";s:0:"";s:4:"type";s:6:"upload";}i:3;a:6:{s:4:"name";s:10:"Text Title";s:4:"desc";s:158:"Enable text-based Site Title and Tagline. Setup title & tagline in General Settings.";s:2:"id";s:13:"woo_texttitle";s:3:"std";s:5:"false";s:5:"class";s:9:"collapsed";s:4:"type";s:8:"checkbox";}i:4;a:6:{s:4:"name";s:10:"Site Title";s:4:"desc";s:33:"Change the site title typography.";s:2:"id";s:19:"woo_font_site_title";s:3:"std";a:5:{s:4:"size";s:2:"40";s:4:"unit";s:2:"px";s:4:"face";s:8:"PT Serif";s:5:"style";s:4:"bold";s:5:"color";s:7:"#FFFFFF";}s:5:"class";s:6:"hidden";s:4:"type";s:10:"typography";}i:5;a:6:{s:4:"name";s:16:"Site Description";s:4:"desc";s:53:"Enable the site description/tagline under site title.";s:2:"id";s:11:"woo_tagline";s:5:"class";s:6:"hidden";s:3:"std";s:5:"false";s:4:"type";s:8:"checkbox";}i:6;a:6:{s:4:"name";s:16:"Site Description";s:4:"desc";s:39:"Change the site description typography.";s:2:"id";s:16:"woo_font_tagline";s:3:"std";a:5:{s:4:"size";s:2:"18";s:4:"unit";s:2:"px";s:4:"face";s:17:"Yanone Kaffeesatz";s:5:"style";s:0:"";s:5:"color";s:7:"#999999";}s:5:"class";s:11:"hidden last";s:4:"type";s:10:"typography";}i:7;a:5:{s:4:"name";s:14:"Custom Favicon";s:4:"desc";s:113:"Upload a 16px x 16px ico image that will represent your website''s favicon.";s:2:"id";s:18:"woo_custom_favicon";s:3:"std";s:0:"";s:4:"type";s:6:"upload";}i:8;a:5:{s:4:"name";s:13:"Tracking Code";s:4:"desc";s:117:"Paste your Google Analytics (or other) tracking code here. This will be added into the footer template of your theme.";s:2:"id";s:20:"woo_google_analytics";s:3:"std";s:0:"";s:4:"type";s:8:"textarea";}i:9;a:5:{s:4:"name";s:7:"RSS URL";s:4:"desc";s:51:"Enter your preferred RSS URL. (Feedburner or other)";s:2:"id";s:12:"woo_feed_url";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:10;a:5:{s:4:"name";s:23:"E-Mail Subscription URL";s:4:"desc";s:67:"Enter your preferred E-mail subscription URL. (Feedburner or other)";s:2:"id";s:19:"woo_subscribe_email";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:11;a:5:{s:4:"name";s:19:"Contact Form E-Mail";s:4:"desc";s:156:"Enter your E-mail address to use on the Contact Form Page Template. Add the contact form by adding a new page and selecting ''Contact Form'' as page template.";s:2:"id";s:21:"woo_contactform_email";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:12;a:5:{s:4:"name";s:10:"Custom CSS";s:4:"desc";s:62:"Quickly add some CSS to your theme by adding it to this block.";s:2:"id";s:14:"woo_custom_css";s:3:"std";s:0:"";s:4:"type";s:8:"textarea";}i:13;a:5:{s:4:"name";s:18:"Post/Page Comments";s:4:"desc";s:69:"Select if you want to enable/disable comments on posts and/or pages. ";s:2:"id";s:12:"woo_comments";s:4:"type";s:7:"select2";s:7:"options";a:4:{s:4:"post";s:10:"Posts Only";s:4:"page";s:10:"Pages Only";s:4:"both";s:13:"Pages / Posts";s:4:"none";s:4:"None";}}i:14;a:5:{s:4:"name";s:12:"Post Content";s:4:"desc";s:69:"Select if you want to show the full content or the excerpt on posts. ";s:2:"id";s:16:"woo_post_content";s:4:"type";s:7:"select2";s:7:"options";a:2:{s:7:"excerpt";s:11:"The Excerpt";s:7:"content";s:12:"Full Content";}}i:15;a:5:{s:4:"name";s:15:"Post Author Box";s:4:"desc";s:157:"This will enable the post author box on the single posts page. Edit description in Profile.";s:2:"id";s:15:"woo_post_author";s:3:"std";s:4:"true";s:4:"type";s:8:"checkbox";}i:16;a:5:{s:4:"name";s:19:"Display Breadcrumbs";s:4:"desc";s:57:"Display dynamic breadcrumbs on each page of your website.";s:2:"id";s:20:"woo_breadcrumbs_show";s:3:"std";s:5:"false";s:4:"type";s:8:"checkbox";}i:17;a:5:{s:4:"name";s:16:"Pagination Style";s:4:"desc";s:65:"Select the style of pagination you would like to use on the blog.";s:2:"id";s:19:"woo_pagination_type";s:4:"type";s:7:"select2";s:7:"options";a:2:{s:15:"paginated_links";s:7:"Numbers";s:6:"simple";s:13:"Next/Previous";}}i:18;a:3:{s:4:"name";s:15:"Styling Options";s:4:"type";s:7:"heading";s:4:"icon";s:7:"styling";}i:19;a:5:{s:4:"name";s:21:"Body Background Color";s:4:"desc";s:66:"Pick a custom color for background color of the theme e.g. #697e09";s:2:"id";s:14:"woo_body_color";s:3:"std";s:0:"";s:4:"type";s:5:"color";}i:20;a:5:{s:4:"name";s:21:"Body background image";s:4:"desc";s:42:"Upload an image for the theme''s background";s:2:"id";s:12:"woo_body_img";s:3:"std";s:0:"";s:4:"type";s:6:"upload";}i:21;a:6:{s:4:"name";s:23:"Background image repeat";s:4:"desc";s:56:"Select how you would like to repeat the background-image";s:2:"id";s:15:"woo_body_repeat";s:3:"std";s:9:"no-repeat";s:4:"type";s:6:"select";s:7:"options";a:4:{i:0;s:9:"no-repeat";i:1;s:8:"repeat-x";i:2;s:8:"repeat-y";i:3;s:6:"repeat";}}i:22;a:6:{s:4:"name";s:25:"Background image position";s:4:"desc";s:52:"Select how you would like to position the background";s:2:"id";s:12:"woo_body_pos";s:3:"std";s:3:"top";s:4:"type";s:6:"select";s:7:"options";a:9:{i:0;s:8:"top left";i:1;s:10:"top center";i:2;s:9:"top right";i:3;s:11:"center left";i:4;s:13:"center center";i:5;s:12:"center right";i:6;s:11:"bottom left";i:7;s:13:"bottom center";i:8;s:12:"bottom right";}}i:23;a:5:{s:4:"name";s:10:"Link Color";s:4:"desc";s:66:"Pick a custom color for links or add a hex color code e.g. #697e09";s:2:"id";s:14:"woo_link_color";s:3:"std";s:0:"";s:4:"type";s:5:"color";}i:24;a:5:{s:4:"name";s:16:"Link Hover Color";s:4:"desc";s:72:"Pick a custom color for links hover or add a hex color code e.g. #697e09";s:2:"id";s:20:"woo_link_hover_color";s:3:"std";s:0:"";s:4:"type";s:5:"color";}i:25;a:5:{s:4:"name";s:12:"Button Color";s:4:"desc";s:68:"Pick a custom color for buttons or add a hex color code e.g. #697e09";s:2:"id";s:16:"woo_button_color";s:3:"std";s:0:"";s:4:"type";s:5:"color";}i:26;a:3:{s:4:"name";s:10:"Typography";s:4:"type";s:7:"heading";s:4:"icon";s:10:"typography";}i:27;a:5:{s:4:"name";s:24:"Enable Custom Typography";s:4:"desc";s:100:"Enable the use of custom typography for your site. Custom styling will be output in your sites HEAD.";s:2:"id";s:14:"woo_typography";s:3:"std";s:5:"false";s:4:"type";s:8:"checkbox";}i:28;a:5:{s:4:"name";s:18:"General Typography";s:4:"desc";s:24:"Change the general font.";s:2:"id";s:13:"woo_font_body";s:3:"std";a:5:{s:4:"size";s:2:"12";s:4:"unit";s:2:"px";s:4:"face";s:5:"Arial";s:5:"style";s:0:"";s:5:"color";s:7:"#555555";}s:4:"type";s:10:"typography";}i:29;a:5:{s:4:"name";s:10:"Navigation";s:4:"desc";s:27:"Change the navigation font.";s:2:"id";s:12:"woo_font_nav";s:3:"std";a:5:{s:4:"size";s:2:"14";s:4:"unit";s:2:"px";s:4:"face";s:5:"Arial";s:5:"style";s:0:"";s:5:"color";s:7:"#555555";}s:4:"type";s:10:"typography";}i:30;a:5:{s:4:"name";s:10:"Post Title";s:4:"desc";s:22:"Change the post title.";s:2:"id";s:19:"woo_font_post_title";s:3:"std";a:5:{s:4:"size";s:2:"24";s:4:"unit";s:2:"px";s:4:"face";s:5:"Arial";s:5:"style";s:4:"bold";s:5:"color";s:7:"#222222";}s:4:"type";s:10:"typography";}i:31;a:5:{s:4:"name";s:9:"Post Meta";s:4:"desc";s:21:"Change the post meta.";s:2:"id";s:18:"woo_font_post_meta";s:3:"std";a:5:{s:4:"size";s:2:"12";s:4:"unit";s:2:"px";s:4:"face";s:5:"Arial";s:5:"style";s:0:"";s:5:"color";s:7:"#999999";}s:4:"type";s:10:"typography";}i:32;a:5:{s:4:"name";s:10:"Post Entry";s:4:"desc";s:22:"Change the post entry.";s:2:"id";s:19:"woo_font_post_entry";s:3:"std";a:5:{s:4:"size";s:2:"14";s:4:"unit";s:2:"px";s:4:"face";s:5:"Arial";s:5:"style";s:0:"";s:5:"color";s:7:"#555555";}s:4:"type";s:10:"typography";}i:33;a:5:{s:4:"name";s:13:"Widget Titles";s:4:"desc";s:25:"Change the widget titles.";s:2:"id";s:22:"woo_font_widget_titles";s:3:"std";a:5:{s:4:"size";s:2:"16";s:4:"unit";s:2:"px";s:4:"face";s:5:"Arial";s:5:"style";s:4:"bold";s:5:"color";s:7:"#555555";}s:4:"type";s:10:"typography";}i:34;a:3:{s:4:"name";s:8:"Homepage";s:4:"type";s:7:"heading";s:4:"icon";s:8:"homepage";}i:35;a:5:{s:4:"name";s:10:"Intro Text";s:4:"desc";s:82:"Type your Intro Text here, it will show up in your homepage above your blog posts.";s:2:"id";s:14:"woo_home_intro";s:3:"std";s:0:"";s:4:"type";s:8:"textarea";}i:36;a:3:{s:4:"name";s:15:"Homepage Slider";s:4:"icon";s:6:"slider";s:4:"type";s:7:"heading";}i:37;a:5:{s:4:"name";s:13:"Enable Slider";s:4:"desc";s:34:"Enable the slider on the homepage.";s:2:"id";s:10:"woo_slider";s:3:"std";s:4:"true";s:4:"type";s:8:"checkbox";}i:38;a:6:{s:4:"name";s:14:"Slider Entries";s:4:"desc";s:72:"Select the number of entries that should appear in the home page slider.";s:2:"id";s:18:"woo_slider_entries";s:3:"std";s:1:"3";s:4:"type";s:6:"select";s:7:"options";a:20:{i:0;s:16:"Select a number:";i:1;s:1:"1";i:2;s:1:"2";i:3;s:1:"3";i:4;s:1:"4";i:5;s:1:"5";i:6;s:1:"6";i:7;s:1:"7";i:8;s:1:"8";i:9;s:1:"9";i:10;s:2:"10";i:11;s:2:"11";i:12;s:2:"12";i:13;s:2:"13";i:14;s:2:"14";i:15;s:2:"15";i:16;s:2:"16";i:17;s:2:"17";i:18;s:2:"18";i:19;s:2:"19";}}i:39;a:5:{s:4:"name";s:23:"Featured Slider Content";s:4:"desc";s:32:"Show the post content in slider.";s:2:"id";s:18:"woo_slider_content";s:3:"std";s:5:"false";s:4:"type";s:8:"checkbox";}i:40;a:5:{s:4:"name";s:15:"Animation Speed";s:4:"desc";s:70:"The time in miliseconds the animation between frames will take.";s:2:"id";s:16:"woo_slider_speed";s:3:"std";s:3:"500";s:4:"type";s:4:"text";}i:41;a:5:{s:4:"name";s:10:"Auto Start";s:4:"desc";s:46:"Set the slider to start sliding automatically.";s:2:"id";s:15:"woo_slider_auto";s:3:"std";s:5:"false";s:4:"type";s:8:"checkbox";}i:42;a:5:{s:4:"name";s:19:"Auto Slide Interval";s:4:"desc";s:82:"The time in milliseconds each slide pauses for, before sliding to the next.";s:2:"id";s:19:"woo_slider_interval";s:3:"std";s:4:"6000";s:4:"type";s:4:"text";}i:43;a:3:{s:4:"name";s:14:"Layout Options";s:4:"type";s:7:"heading";s:4:"icon";s:6:"layout";}i:44;a:6:{s:4:"name";s:11:"Main Layout";s:4:"desc";s:43:"Select which layout you want for your site.";s:2:"id";s:15:"woo_site_layout";s:3:"std";s:11:"layout-full";s:4:"type";s:6:"images";s:7:"options";a:1:{s:11:"layout-full";s:86:"http://localhost/originalhouse/wp-content/themes/originalhouse/functions/images/1c.png";}}i:45;a:3:{s:4:"name";s:14:"Dynamic Images";s:4:"type";s:7:"heading";s:4:"icon";s:5:"image";}i:46;a:6:{s:4:"name";s:17:"WP Post Thumbnail";s:4:"desc";s:56:"Use WordPress post thumbnail to assign a post thumbnail.";s:2:"id";s:22:"woo_post_image_support";s:3:"std";s:4:"true";s:5:"class";s:9:"collapsed";s:4:"type";s:8:"checkbox";}i:47;a:6:{s:4:"name";s:38:"WP Post Thumbnail - Dynamically Resize";s:4:"desc";s:113:"The post thumbnail will be dynamically resized using native WP resize functionality. (Requires PHP 5.2+)";s:2:"id";s:14:"woo_pis_resize";s:3:"std";s:4:"true";s:5:"class";s:6:"hidden";s:4:"type";s:8:"checkbox";}i:48;a:6:{s:4:"name";s:29:"WP Post Thumbnail - Hard Crop";s:4:"desc";s:59:"The image will be cropped to match the target aspect ratio.";s:2:"id";s:17:"woo_pis_hard_crop";s:3:"std";s:4:"true";s:5:"class";s:11:"hidden last";s:4:"type";s:8:"checkbox";}i:49;a:5:{s:4:"name";s:28:"Enable Dynamic Image Resizer";s:4:"desc";s:103:"This will enable the thumb.php script which dynamically resizes images added through post custom field.";s:2:"id";s:10:"woo_resize";s:3:"std";s:4:"true";s:4:"type";s:8:"checkbox";}i:50;a:5:{s:4:"name";s:22:"Automatic Image Thumbs";s:4:"desc";s:117:"If no image is specified in the ''image'' custom field or WP post thumbnail then the first uploaded post image is used.";s:2:"id";s:12:"woo_auto_img";s:3:"std";s:5:"false";s:4:"type";s:8:"checkbox";}i:51;a:5:{s:4:"name";s:26:"Thumbnail Image Dimensions";s:4:"desc";s:109:"Enter an integer value i.e. 250 for the desired size which will be used when dynamically creating the images.";s:2:"id";s:20:"woo_image_dimensions";s:3:"std";s:0:"";s:4:"type";a:2:{i:0;a:4:{s:2:"id";s:11:"woo_thumb_w";s:4:"type";s:4:"text";s:3:"std";i:80;s:4:"meta";s:5:"Width";}i:1;a:4:{s:2:"id";s:11:"woo_thumb_h";s:4:"type";s:4:"text";s:3:"std";i:80;s:4:"meta";s:6:"Height";}}}i:52;a:6:{s:4:"name";s:25:"Thumbnail Image alignment";s:4:"desc";s:47:"Select how to align your thumbnails with posts.";s:2:"id";s:15:"woo_thumb_align";s:3:"std";s:9:"alignleft";s:4:"type";s:5:"radio";s:7:"options";a:3:{s:9:"alignleft";s:4:"Left";s:10:"alignright";s:5:"Right";s:11:"aligncenter";s:6:"Center";}}i:53;a:6:{s:4:"name";s:30:"Show thumbnail in Single Posts";s:4:"desc";s:48:"Show the attached image in the single post page.";s:2:"id";s:16:"woo_thumb_single";s:5:"class";s:9:"collapsed";s:3:"std";s:5:"false";s:4:"type";s:8:"checkbox";}i:54;a:6:{s:4:"name";s:23:"Single Image Dimensions";s:4:"desc";s:69:"Enter an integer value i.e. 250 for the image size. Max width is 576.";s:2:"id";s:20:"woo_image_dimensions";s:3:"std";s:0:"";s:5:"class";s:11:"hidden last";s:4:"type";a:2:{i:0;a:4:{s:2:"id";s:12:"woo_single_w";s:4:"type";s:4:"text";s:3:"std";i:200;s:4:"meta";s:5:"Width";}i:1;a:4:{s:2:"id";s:12:"woo_single_h";s:4:"type";s:4:"text";s:3:"std";i:200;s:4:"meta";s:6:"Height";}}}i:55;a:7:{s:4:"name";s:27:"Single Post Image alignment";s:4:"desc";s:53:"Select how to align your thumbnail with single posts.";s:2:"id";s:22:"woo_thumb_single_align";s:3:"std";s:10:"alignright";s:4:"type";s:5:"radio";s:5:"class";s:6:"hidden";s:7:"options";a:3:{s:9:"alignleft";s:4:"Left";s:10:"alignright";s:5:"Right";s:11:"aligncenter";s:6:"Center";}}i:56;a:5:{s:4:"name";s:25:"Add thumbnail to RSS feed";s:4:"desc";s:68:"Add the the image uploaded via your Custom Settings to your RSS feed";s:2:"id";s:13:"woo_rss_thumb";s:3:"std";s:5:"false";s:4:"type";s:8:"checkbox";}i:57;a:3:{s:4:"name";s:20:"Footer Customization";s:4:"type";s:7:"heading";s:4:"icon";s:6:"footer";}i:58;a:5:{s:4:"name";s:26:"Enable Footer Social Icons";s:4:"desc";s:136:"Activate footer social icons (Twitter & Facebook). Your social profile URLs can be added under Subscribe & Connect.";s:2:"id";s:17:"woo_footer_social";s:3:"std";s:4:"true";s:4:"type";s:8:"checkbox";}i:59;a:5:{s:4:"name";s:21:"Custom Affiliate Link";s:4:"desc";s:71:"Add an affiliate link to the WooThemes logo in the footer of the theme.";s:2:"id";s:19:"woo_footer_aff_link";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:60;a:5:{s:4:"name";s:27:"Enable Custom Footer (Left)";s:4:"desc";s:58:"Activate to add the custom text below to the theme footer.";s:2:"id";s:15:"woo_footer_left";s:3:"std";s:5:"false";s:4:"type";s:8:"checkbox";}i:61;a:5:{s:4:"name";s:18:"Custom Text (Left)";s:4:"desc";s:66:"Custom HTML and Text that will appear in the footer of your theme.";s:2:"id";s:20:"woo_footer_left_text";s:3:"std";s:0:"";s:4:"type";s:8:"textarea";}i:62;a:5:{s:4:"name";s:28:"Enable Custom Footer (Right)";s:4:"desc";s:58:"Activate to add the custom text below to the theme footer.";s:2:"id";s:16:"woo_footer_right";s:3:"std";s:5:"false";s:4:"type";s:8:"checkbox";}i:63;a:5:{s:4:"name";s:19:"Custom Text (Right)";s:4:"desc";s:66:"Custom HTML and Text that will appear in the footer of your theme.";s:2:"id";s:21:"woo_footer_right_text";s:3:"std";s:0:"";s:4:"type";s:8:"textarea";}i:64;a:3:{s:4:"name";s:19:"Subscribe & Connect";s:4:"type";s:7:"heading";s:4:"icon";s:7:"connect";}i:65;a:5:{s:4:"name";s:40:"Enable Subscribe & Connect - Single Post";s:4:"desc";s:169:"Enable the subscribe & connect area on single posts. You can also add this as a widget in your sidebar.";s:2:"id";s:11:"woo_connect";s:3:"std";s:4:"true";s:4:"type";s:8:"checkbox";}i:66;a:5:{s:4:"name";s:15:"Subscribe Title";s:4:"desc";s:57:"Enter the title to show in your subscribe & connect area.";s:2:"id";s:17:"woo_connect_title";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:67;a:5:{s:4:"name";s:4:"Text";s:4:"desc";s:37:"Change the default text in this area.";s:2:"id";s:19:"woo_connect_content";s:3:"std";s:0:"";s:4:"type";s:8:"textarea";}i:68;a:5:{s:4:"name";s:35:"Subscribe By E-mail ID (Feedburner)";s:4:"desc";s:146:"Enter your Feedburner ID for the e-mail subscription form.";s:2:"id";s:25:"woo_connect_newsletter_id";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:69;a:5:{s:4:"name";s:10:"Enable RSS";s:4:"desc";s:34:"Enable the subscribe and RSS icon.";s:2:"id";s:15:"woo_connect_rss";s:3:"std";s:4:"true";s:4:"type";s:8:"checkbox";}i:70;a:5:{s:4:"name";s:11:"Twitter URL";s:4:"desc";s:99:"Enter your Twitter URL e.g. http://www.twitter.com/woothemes";s:2:"id";s:19:"woo_connect_twitter";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:71;a:5:{s:4:"name";s:12:"Facebook URL";s:4:"desc";s:102:"Enter your Facebook URL e.g. http://www.facebook.com/woothemes";s:2:"id";s:20:"woo_connect_facebook";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:72;a:5:{s:4:"name";s:11:"Blogger URL";s:4:"desc";s:61:"Enter your Blogger URL";s:2:"id";s:19:"woo_connect_blogger";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:73;a:5:{s:4:"name";s:11:"YouTube URL";s:4:"desc";s:99:"Enter your YouTube URL e.g. http://www.youtube.com/woothemes";s:2:"id";s:19:"woo_connect_youtube";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:74;a:5:{s:4:"name";s:10:"Flickr URL";s:4:"desc";s:96:"Enter your Flickr URL e.g. http://www.flickr.com/woothemes";s:2:"id";s:18:"woo_connect_flickr";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:75;a:5:{s:4:"name";s:12:"LinkedIn URL";s:4:"desc";s:113:"Enter your LinkedIn URL e.g. http://www.linkedin.com/in/woothemes";s:2:"id";s:20:"woo_connect_linkedin";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:76;a:5:{s:4:"name";s:13:"Delicious URL";s:4:"desc";s:104:"Enter your Delicious URL e.g. http://www.delicious.com/woothemes";s:2:"id";s:21:"woo_connect_delicious";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:77;a:5:{s:4:"name";s:20:"Enable Related Posts";s:4:"desc";s:158:"Enable related posts in the subscribe area. Uses posts with the same tags to find related posts. Note: Will not show in the Subscribe widget.";s:2:"id";s:19:"woo_connect_related";s:3:"std";s:4:"true";s:4:"type";s:8:"checkbox";}}', 'yes'), +(325, 0, 'widget_dc_jqaccordion_widget', 'a:3:{i:2;a:0:{}i:3;a:14:{s:5:"title";s:0:"";s:8:"nav_menu";i:0;s:9:"autoClose";N;s:9:"menuClose";N;s:9:"saveState";N;s:10:"autoExpand";N;s:11:"disableLink";N;s:12:"classDisable";N;s:9:"classMenu";N;s:9:"showCount";N;s:5:"event";s:0:"";s:4:"skin";N;s:5:"speed";N;s:10:"hoverDelay";N;}s:12:"_multiwidget";i:1;}', 'yes'), +(326, 0, 'nav_menu_options', 'a:2:{i:0;b:0;s:8:"auto_add";a:0:{}}', 'yes'), +(174, 0, 'woo_themename', 'Original House', 'yes'), +(175, 0, 'woo_shortname', 'woo', 'yes'), +(176, 0, 'woo_manual', '', 'yes'), +(177, 0, 'woo_custom_template', 'a:0:{}', 'yes'), +(178, 0, 'woo_alt_stylesheet', 'default.css', 'yes'), +(179, 0, 'woo_logo', 'http://localhost/originalhouse/wp-content/uploads/2011/06/logo.gif', 'yes'), +(180, 0, 'woo_texttitle', 'false', 'yes'), +(181, 0, 'woo_font_site_title', 'a:5:{s:4:"size";s:2:"40";s:4:"unit";s:2:"px";s:4:"face";s:43:"Calibri, Candara, Segoe, Optima, sans-serif";s:5:"style";s:6:"normal";s:5:"color";s:7:"#FFFFFF";}', 'yes'), +(182, 0, 'woo_tagline', 'false', 'yes'), +(183, 0, 'woo_font_tagline', 'a:5:{s:4:"size";s:2:"18";s:4:"unit";s:2:"px";s:4:"face";s:17:"Yanone Kaffeesatz";s:5:"style";s:6:"normal";s:5:"color";s:7:"#999999";}', 'yes'), +(184, 0, 'woo_custom_favicon', '', 'yes'), +(185, 0, 'woo_google_analytics', '', 'yes'), +(186, 0, 'woo_feed_url', '', 'yes'), +(187, 0, 'woo_subscribe_email', '', 'yes'), +(188, 0, 'woo_contactform_email', '', 'yes'), +(189, 0, 'woo_custom_css', '', 'yes'), +(190, 0, 'woo_comments', 'post', 'yes'), +(191, 0, 'woo_post_content', 'excerpt', 'yes'), +(192, 0, 'woo_post_author', 'false', 'yes'), +(193, 0, 'woo_breadcrumbs_show', 'true', 'yes'), +(194, 0, 'woo_pagination_type', 'paginated_links', 'yes'), +(195, 0, 'woo_body_color', '#000000', 'yes'), +(196, 0, 'woo_body_img', '', 'yes'), +(197, 0, 'woo_body_repeat', 'repeat-y', 'yes'), +(198, 0, 'woo_body_pos', 'top center', 'yes'), +(199, 0, 'woo_link_color', '#e6362d', 'yes'), +(200, 0, 'woo_link_hover_color', '#e6802d', 'yes'), +(201, 0, 'woo_button_color', '', 'yes'), +(202, 0, 'woo_typography', 'true', 'yes'), +(203, 0, 'woo_font_body', 'a:5:{s:4:"size";s:2:"18";s:4:"unit";s:2:"px";s:4:"face";s:17:"Yanone Kaffeesatz";s:5:"style";s:6:"normal";s:5:"color";s:7:"#999999";}', 'yes'), +(204, 0, 'woo_font_nav', 'a:5:{s:4:"size";s:2:"20";s:4:"unit";s:2:"px";s:4:"face";s:17:"Yanone Kaffeesatz";s:5:"style";s:6:"normal";s:5:"color";s:7:"#555555";}', 'yes'), +(205, 0, 'woo_font_post_title', 'a:5:{s:4:"size";s:2:"24";s:4:"unit";s:2:"px";s:4:"face";s:17:"Yanone Kaffeesatz";s:5:"style";s:4:"bold";s:5:"color";s:7:"#222222";}', 'yes'), +(206, 0, 'woo_font_post_meta', 'a:5:{s:4:"size";s:2:"12";s:4:"unit";s:2:"px";s:4:"face";s:10:"Droid Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#999999";}', 'yes'), +(207, 0, 'woo_font_post_entry', 'a:5:{s:4:"size";s:2:"16";s:4:"unit";s:2:"px";s:4:"face";s:10:"Droid Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#999999";}', 'yes'), +(208, 0, 'woo_font_widget_titles', 'a:5:{s:4:"size";s:2:"16";s:4:"unit";s:2:"px";s:4:"face";s:20:"Terminal Dosis Light";s:5:"style";s:4:"bold";s:5:"color";s:7:"#555555";}', 'yes'), +(209, 0, 'woo_home_intro', 'Si tu casa se parece a todas, nosotros no tenemos la culpa', 'yes'), +(210, 0, 'woo_slider', 'false', 'yes'), +(211, 0, 'woo_slider_entries', '19', 'yes'), +(212, 0, 'woo_slider_content', 'false', 'yes'), +(213, 0, 'woo_slider_speed', '500', 'yes'), +(214, 0, 'woo_slider_auto', 'true', 'yes'), +(215, 0, 'woo_slider_interval', '6000', 'yes'), +(216, 0, 'woo_site_layout', 'layout-full', 'yes'), +(217, 0, 'woo_donate_btn', 'false', 'yes'), +(218, 0, 'woo_donate_meter', 'false', 'yes'), +(219, 0, 'woo_donate_raised', '0', 'yes'), +(220, 0, 'woo_donate_target', '0', 'yes'), +(221, 0, 'woo_donate_currency', 'USD', 'yes'), +(222, 0, 'woo_donate_currency_symbol', '$', 'yes'), +(223, 0, 'woo_donate_title', '', 'yes'), +(224, 0, 'woo_donate_desc', '', 'yes'), +(225, 0, 'woo_donate_meter_large', 'true', 'yes'), +(226, 0, 'woo_donate_btn_text', 'Donate Now!', 'yes'), +(227, 0, 'woo_donate_customlink', '', 'yes'), +(228, 0, 'woo_donate_paypal', '', 'yes'), +(229, 0, 'woo_donate_amount', '', 'yes'), +(230, 0, 'woo_donate_more', 'Select a page:', 'yes'), +(231, 0, 'woo_post_image_support', 'true', 'yes'), +(232, 0, 'woo_pis_resize', 'true', 'yes'), +(233, 0, 'woo_pis_hard_crop', 'true', 'yes'), +(234, 0, 'woo_resize', 'true', 'yes'), +(235, 0, 'woo_auto_img', 'false', 'yes'), +(236, 0, 'woo_thumb_w', '160', 'yes'), +(237, 0, 'woo_thumb_h', '160', 'yes'), +(238, 0, 'woo_thumb_align', 'alignleft', 'yes'), +(239, 0, 'woo_thumb_single', 'true', 'yes'), +(240, 0, 'woo_single_w', '200', 'yes'), +(241, 0, 'woo_single_h', '200', 'yes'), +(242, 0, 'woo_thumb_single_align', 'alignright', 'yes'), +(243, 0, 'woo_rss_thumb', 'false', 'yes'), +(244, 0, 'woo_footer_social', 'true', 'yes'), +(245, 0, 'woo_footer_aff_link', '', 'yes'), +(246, 0, 'woo_footer_left', 'false', 'yes'), +(247, 0, 'woo_footer_left_text', '', 'yes'), +(248, 0, 'woo_footer_right', 'false', 'yes'), +(249, 0, 'woo_footer_right_text', '', 'yes'), +(250, 0, 'woo_connect', 'true', 'yes'), +(251, 0, 'woo_connect_title', '', 'yes'), +(252, 0, 'woo_connect_content', '', 'yes'), +(253, 0, 'woo_connect_newsletter_id', '', 'yes'), +(254, 0, 'woo_connect_rss', 'true', 'yes'), +(255, 0, 'woo_connect_twitter', 'http://twitter.com/#!/originalhousesl', 'yes'), +(256, 0, 'woo_connect_facebook', 'http://www.facebook.com/pages/ORIGINAL-HOUSE-Mobiliario-y-decoracion/161365001363', 'yes'), +(257, 0, 'woo_connect_youtube', '', 'yes'), +(258, 0, 'woo_connect_flickr', '', 'yes'), +(259, 0, 'woo_connect_linkedin', '', 'yes'), +(260, 0, 'woo_connect_delicious', '', 'yes'), +(261, 0, 'woo_connect_related', 'false', 'yes'), +(262, 0, 'woo_settings_encode', 'PHVsPjxsaT48c3Ryb25nPndvb19hbHRfc3R5bGVzaGVldDwvc3Ryb25nPiAtIGRlZmF1bHQuY3NzPC9saT48bGk+PHN0cm9uZz53b29fbG9nbzwvc3Ryb25nPiAtIGh0dHA6Ly9sb2NhbGhvc3Qvb3JpZ2luYWxob3VzZS93cC1jb250ZW50L3VwbG9hZHMvMjAxMS8wNi9sb2dvLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX3RleHR0aXRsZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fZm9udF9zaXRlX3RpdGxlPC9zdHJvbmc+IC0gQXJyYXk8L2xpPjxsaT48c3Ryb25nPndvb190YWdsaW5lPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19mb250X3RhZ2xpbmU8L3N0cm9uZz4gLSBBcnJheTwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9mYXZpY29uPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZ29vZ2xlX2FuYWx5dGljczwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlZWRfdXJsPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fc3Vic2NyaWJlX2VtYWlsPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY29udGFjdGZvcm1fZW1haWw8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fY3NzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY29tbWVudHM8L3N0cm9uZz4gLSBwb3N0PC9saT48bGk+PHN0cm9uZz53b29fcG9zdF9jb250ZW50PC9zdHJvbmc+IC0gZXhjZXJwdDwvbGk+PGxpPjxzdHJvbmc+d29vX3Bvc3RfYXV0aG9yPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19icmVhZGNydW1ic19zaG93PC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3BhZ2luYXRpb25fdHlwZTwvc3Ryb25nPiAtIHBhZ2luYXRlZF9saW5rczwvbGk+PGxpPjxzdHJvbmc+d29vX2JvZHlfY29sb3I8L3N0cm9uZz4gLSAjMDAwMDAwPC9saT48bGk+PHN0cm9uZz53b29fYm9keV9pbWc8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ib2R5X3JlcGVhdDwvc3Ryb25nPiAtIHJlcGVhdC15PC9saT48bGk+PHN0cm9uZz53b29fYm9keV9wb3M8L3N0cm9uZz4gLSB0b3AgY2VudGVyPC9saT48bGk+PHN0cm9uZz53b29fbGlua19jb2xvcjwvc3Ryb25nPiAtICNlNjM2MmQ8L2xpPjxsaT48c3Ryb25nPndvb19saW5rX2hvdmVyX2NvbG9yPC9zdHJvbmc+IC0gI2U2ODAyZDwvbGk+PGxpPjxzdHJvbmc+d29vX2J1dHRvbl9jb2xvcjwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX3R5cG9ncmFwaHk8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fZm9udF9ib2R5PC9zdHJvbmc+IC0gQXJyYXk8L2xpPjxsaT48c3Ryb25nPndvb19mb250X25hdjwvc3Ryb25nPiAtIEFycmF5PC9saT48bGk+PHN0cm9uZz53b29fZm9udF9wb3N0X3RpdGxlPC9zdHJvbmc+IC0gQXJyYXk8L2xpPjxsaT48c3Ryb25nPndvb19mb250X3Bvc3RfbWV0YTwvc3Ryb25nPiAtIEFycmF5PC9saT48bGk+PHN0cm9uZz53b29fZm9udF9wb3N0X2VudHJ5PC9zdHJvbmc+IC0gQXJyYXk8L2xpPjxsaT48c3Ryb25nPndvb19mb250X3dpZGdldF90aXRsZXM8L3N0cm9uZz4gLSBBcnJheTwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfaW50cm88L3N0cm9uZz4gLSBTaSB0dSBjYXNhIHNlIHBhcmVjZSBhIHRvZGFzLCBub3NvdHJvcyBubyB0ZW5lbW9zIGxhIGN1bHBhPC9saT48bGk+PHN0cm9uZz53b29fc2xpZGVyPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19zbGlkZXJfZW50cmllczwvc3Ryb25nPiAtIDE5PC9saT48bGk+PHN0cm9uZz53b29fc2xpZGVyX2NvbnRlbnQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3NsaWRlcl9zcGVlZDwvc3Ryb25nPiAtIDUwMDwvbGk+PGxpPjxzdHJvbmc+d29vX3NsaWRlcl9hdXRvPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3NsaWRlcl9pbnRlcnZhbDwvc3Ryb25nPiAtIDYwMDA8L2xpPjxsaT48c3Ryb25nPndvb19zaXRlX2xheW91dDwvc3Ryb25nPiAtIGxheW91dC1mdWxsPC9saT48bGk+PHN0cm9uZz53b29fcG9zdF9pbWFnZV9zdXBwb3J0PC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Bpc19yZXNpemU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fcGlzX2hhcmRfY3JvcDwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19yZXNpemU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fYXV0b19pbWc8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3RodW1iX3c8L3N0cm9uZz4gLSAxNjA8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl9oPC9zdHJvbmc+IC0gMTYwPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfYWxpZ248L3N0cm9uZz4gLSBhbGlnbmxlZnQ8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl9zaW5nbGU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fc2luZ2xlX3c8L3N0cm9uZz4gLSAyMDA8L2xpPjxsaT48c3Ryb25nPndvb19zaW5nbGVfaDwvc3Ryb25nPiAtIDIwMDwvbGk+PGxpPjxzdHJvbmc+d29vX3RodW1iX3NpbmdsZV9hbGlnbjwvc3Ryb25nPiAtIGFsaWducmlnaHQ8L2xpPjxsaT48c3Ryb25nPndvb19yc3NfdGh1bWI8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Zvb3Rlcl9zb2NpYWw8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fZm9vdGVyX2FmZl9saW5rPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZm9vdGVyX2xlZnQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Zvb3Rlcl9sZWZ0X3RleHQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mb290ZXJfcmlnaHQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Zvb3Rlcl9yaWdodF90ZXh0PC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY29ubmVjdDwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19jb25uZWN0X3RpdGxlPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY29ubmVjdF9jb250ZW50PC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY29ubmVjdF9uZXdzbGV0dGVyX2lkPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY29ubmVjdF9yc3M8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fY29ubmVjdF90d2l0dGVyPC9zdHJvbmc+IC0gaHR0cDovL3R3aXR0ZXIuY29tLyMhL29yaWdpbmFsaG91c2VzbDwvbGk+PGxpPjxzdHJvbmc+d29vX2Nvbm5lY3RfZmFjZWJvb2s8L3N0cm9uZz4gLSBodHRwOi8vd3d3LmZhY2Vib29rLmNvbS9wYWdlcy9PUklHSU5BTC1IT1VTRS1Nb2JpbGlhcmlvLXktZGVjb3JhY2lvbi8xNjEzNjUwMDEzNjM8L2xpPjxsaT48c3Ryb25nPndvb19jb25uZWN0X2Jsb2dnZXI8L3N0cm9uZz4gLSBodHRwOi8vZWxibG9nZGVvcmlnaW5hbGhvdXNlLmJsb2dzcG90LmNvbS88L2xpPjxsaT48c3Ryb25nPndvb19jb25uZWN0X3lvdXR1YmU8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19jb25uZWN0X2ZsaWNrcjwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2Nvbm5lY3RfbGlua2VkaW48L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19jb25uZWN0X2RlbGljaW91czwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2Nvbm5lY3RfcmVsYXRlZDwvc3Ryb25nPiAtIGZhbHNlPC9saT48L3VsPg==', 'yes'), +(322, 0, '_site_transient_timeout_poptags_40cd750bba9870f18aada2478b24840a', '1309378052', 'yes'), +(323, 0, '_site_transient_poptags_40cd750bba9870f18aada2478b24840a', 'a:40:{s:6:"widget";a:3:{s:4:"name";s:6:"widget";s:4:"slug";s:6:"widget";s:5:"count";s:4:"2477";}s:4:"post";a:3:{s:4:"name";s:4:"Post";s:4:"slug";s:4:"post";s:5:"count";s:4:"1672";}s:6:"plugin";a:3:{s:4:"name";s:6:"plugin";s:4:"slug";s:6:"plugin";s:5:"count";s:4:"1488";}s:5:"posts";a:3:{s:4:"name";s:5:"posts";s:4:"slug";s:5:"posts";s:5:"count";s:4:"1249";}s:5:"admin";a:3:{s:4:"name";s:5:"admin";s:4:"slug";s:5:"admin";s:5:"count";s:4:"1237";}s:7:"sidebar";a:3:{s:4:"name";s:7:"sidebar";s:4:"slug";s:7:"sidebar";s:5:"count";s:4:"1202";}s:8:"comments";a:3:{s:4:"name";s:8:"comments";s:4:"slug";s:8:"comments";s:5:"count";s:3:"881";}s:6:"images";a:3:{s:4:"name";s:6:"images";s:4:"slug";s:6:"images";s:5:"count";s:3:"809";}s:7:"twitter";a:3:{s:4:"name";s:7:"twitter";s:4:"slug";s:7:"twitter";s:5:"count";s:3:"778";}s:4:"page";a:3:{s:4:"name";s:4:"page";s:4:"slug";s:4:"page";s:5:"count";s:3:"758";}s:6:"google";a:3:{s:4:"name";s:6:"google";s:4:"slug";s:6:"google";s:5:"count";s:3:"739";}s:5:"links";a:3:{s:4:"name";s:5:"links";s:4:"slug";s:5:"links";s:5:"count";s:3:"686";}s:5:"image";a:3:{s:4:"name";s:5:"image";s:4:"slug";s:5:"image";s:5:"count";s:3:"675";}s:3:"seo";a:3:{s:4:"name";s:3:"seo";s:4:"slug";s:3:"seo";s:5:"count";s:3:"600";}s:3:"rss";a:3:{s:4:"name";s:3:"rss";s:4:"slug";s:3:"rss";s:5:"count";s:3:"530";}s:7:"gallery";a:3:{s:4:"name";s:7:"gallery";s:4:"slug";s:7:"gallery";s:5:"count";s:3:"517";}s:7:"widgets";a:3:{s:4:"name";s:7:"widgets";s:4:"slug";s:7:"widgets";s:5:"count";s:3:"445";}s:5:"pages";a:3:{s:4:"name";s:5:"pages";s:4:"slug";s:5:"pages";s:5:"count";s:3:"443";}s:4:"ajax";a:3:{s:4:"name";s:4:"AJAX";s:4:"slug";s:4:"ajax";s:5:"count";s:3:"439";}s:9:"wordpress";a:3:{s:4:"name";s:9:"wordpress";s:4:"slug";s:9:"wordpress";s:5:"count";s:3:"430";}s:8:"facebook";a:3:{s:4:"name";s:8:"Facebook";s:4:"slug";s:8:"facebook";s:5:"count";s:3:"428";}s:6:"social";a:3:{s:4:"name";s:6:"social";s:4:"slug";s:6:"social";s:5:"count";s:3:"400";}s:9:"shortcode";a:3:{s:4:"name";s:9:"shortcode";s:4:"slug";s:9:"shortcode";s:5:"count";s:3:"389";}s:6:"jquery";a:3:{s:4:"name";s:6:"jquery";s:4:"slug";s:6:"jquery";s:5:"count";s:3:"379";}s:10:"javascript";a:3:{s:4:"name";s:10:"javascript";s:4:"slug";s:10:"javascript";s:5:"count";s:3:"373";}s:4:"feed";a:3:{s:4:"name";s:4:"feed";s:4:"slug";s:4:"feed";s:5:"count";s:3:"355";}s:10:"buddypress";a:3:{s:4:"name";s:10:"buddypress";s:4:"slug";s:10:"buddypress";s:5:"count";s:3:"354";}s:5:"photo";a:3:{s:4:"name";s:5:"photo";s:4:"slug";s:5:"photo";s:5:"count";s:3:"354";}s:5:"video";a:3:{s:4:"name";s:5:"video";s:4:"slug";s:5:"video";s:5:"count";s:3:"350";}s:5:"email";a:3:{s:4:"name";s:5:"email";s:4:"slug";s:5:"email";s:5:"count";s:3:"345";}s:5:"media";a:3:{s:4:"name";s:5:"media";s:4:"slug";s:5:"media";s:5:"count";s:3:"345";}s:6:"photos";a:3:{s:4:"name";s:6:"photos";s:4:"slug";s:6:"photos";s:5:"count";s:3:"340";}s:5:"flash";a:3:{s:4:"name";s:5:"flash";s:4:"slug";s:5:"flash";s:5:"count";s:3:"328";}s:4:"tags";a:3:{s:4:"name";s:4:"tags";s:4:"slug";s:4:"tags";s:5:"count";s:3:"318";}s:5:"stats";a:3:{s:4:"name";s:5:"stats";s:4:"slug";s:5:"stats";s:5:"count";s:3:"312";}s:4:"link";a:3:{s:4:"name";s:4:"link";s:4:"slug";s:4:"link";s:5:"count";s:3:"309";}s:7:"content";a:3:{s:4:"name";s:7:"content";s:4:"slug";s:7:"content";s:5:"count";s:3:"301";}s:8:"category";a:3:{s:4:"name";s:8:"category";s:4:"slug";s:8:"category";s:5:"count";s:3:"289";}s:7:"comment";a:3:{s:4:"name";s:7:"comment";s:4:"slug";s:7:"comment";s:5:"count";s:3:"289";}s:4:"spam";a:3:{s:4:"name";s:4:"spam";s:4:"slug";s:4:"spam";s:5:"count";s:3:"283";}}', 'yes'); +INSERT INTO `wp_options` (`option_id`, `blog_id`, `option_name`, `option_value`, `autoload`) VALUES +(268, 0, 'woo_framework_template', 'a:20:{i:0;a:3:{s:4:"name";s:18:"Framework Settings";s:4:"icon";s:7:"general";s:4:"type";s:7:"heading";}i:1;a:6:{s:4:"name";s:21:"Super User (username)";s:4:"desc";s:251:"Enter your username to hide the Framework Settings and Update Framework from other users. Can be reset from the WP options page under framework_woo_super_user.";s:2:"id";s:24:"framework_woo_super_user";s:3:"std";s:0:"";s:5:"class";s:4:"text";s:4:"type";s:4:"text";}i:2;a:5:{s:4:"name";s:21:"Disable SEO Menu Item";s:4:"desc";s:61:"Disable the SEO menu item in the theme menu.";s:2:"id";s:25:"framework_woo_seo_disable";s:3:"std";s:0:"";s:4:"type";s:8:"checkbox";}i:3;a:5:{s:4:"name";s:33:"Disable Sidebar Manager Menu Item";s:4:"desc";s:73:"Disable the Sidebar Manager menu item in the theme menu.";s:2:"id";s:25:"framework_woo_sbm_disable";s:3:"std";s:0:"";s:4:"type";s:8:"checkbox";}i:4;a:5:{s:4:"name";s:28:"Disable Buy Themes Menu Item";s:4:"desc";s:68:"Disable the Buy Themes menu item in the theme menu.";s:2:"id";s:32:"framework_woo_buy_themes_disable";s:3:"std";s:0:"";s:4:"type";s:8:"checkbox";}i:5;a:5:{s:4:"name";s:24:"Enable Custom Navigation";s:4:"desc";s:187:"Enable the old Custom Navigation menu item. Try to use WP Menus instead, as this function is outdated.";s:2:"id";s:20:"framework_woo_woonav";s:3:"std";s:0:"";s:4:"type";s:8:"checkbox";}i:6;a:5:{s:4:"name";s:25:"Theme Update Notification";s:4:"desc";s:101:"This will enable notices on your theme options page that there is an update available for your theme.";s:2:"id";s:35:"framework_woo_theme_version_checker";s:3:"std";s:0:"";s:4:"type";s:8:"checkbox";}i:7;a:5:{s:4:"name";s:29:"Disable Shortcodes Stylesheet";s:4:"desc";s:76:"This disables the output of shortcodes.css in the HEAD section of your site.";s:2:"id";s:32:"framework_woo_disable_shortcodes";s:3:"std";s:0:"";s:4:"type";s:8:"checkbox";}i:8;a:5:{s:4:"name";s:26:"Remove Generator Meta Tags";s:4:"desc";s:81:"This disables the output of generator meta tags in the HEAD section of your site.";s:2:"id";s:31:"framework_woo_disable_generator";s:3:"std";s:0:"";s:4:"type";s:8:"checkbox";}i:9;a:5:{s:4:"name";s:17:"Image Placeholder";s:4:"desc";s:151:"Set a default image placeholder for your thumbnails. Use this if you want a default image to be shown if you haven''t added a custom image to your post.";s:2:"id";s:27:"framework_woo_default_image";s:3:"std";s:0:"";s:4:"type";s:6:"upload";}i:10;a:3:{s:4:"name";s:8:"Branding";s:4:"icon";s:4:"misc";s:4:"type";s:7:"heading";}i:11;a:5:{s:4:"name";s:20:"Options panel header";s:4:"desc";s:50:"Change the header image for the WooThemes Backend.";s:2:"id";s:34:"framework_woo_backend_header_image";s:3:"std";s:0:"";s:4:"type";s:6:"upload";}i:12;a:5:{s:4:"name";s:18:"Options panel icon";s:4:"desc";s:56:"Change the icon image for the WordPress backend sidebar.";s:2:"id";s:26:"framework_woo_backend_icon";s:3:"std";s:0:"";s:4:"type";s:6:"upload";}i:13;a:5:{s:4:"name";s:20:"WordPress login logo";s:4:"desc";s:51:"Change the logo image for the WordPress login page.";s:2:"id";s:31:"framework_woo_custom_login_logo";s:3:"std";s:0:"";s:4:"type";s:6:"upload";}i:14;a:3:{s:4:"name";s:15:"Import / Export";s:4:"icon";s:4:"misc";s:4:"type";s:7:"heading";}i:15;a:5:{s:4:"name";s:14:"Import Options";s:4:"desc";s:59:"Import the options from another installation of this theme.";s:2:"id";s:28:"framework_woo_import_options";s:3:"std";s:0:"";s:4:"type";s:8:"textarea";}i:16;a:5:{s:4:"name";s:14:"Export Options";s:4:"desc";s:94:"Export the options to another installation of this theme, or to keep a backup of your options.";s:2:"id";s:28:"framework_woo_export_options";s:3:"std";s:5708:"YTo4NTp7czoxODoid29vX2FsdF9zdHlsZXNoZWV0IjtzOjExOiJkZWZhdWx0LmNzcyI7czo4OiJ3b29fbG9nbyI7czowOiIiO3M6MTM6Indvb190ZXh0dGl0bGUiO3M6NDoidHJ1ZSI7czoxOToid29vX2ZvbnRfc2l0ZV90aXRsZSI7czoxMjE6ImE6NTp7czo0OiJzaXplIjtzOjI6IjQwIjtzOjQ6InVuaXQiO3M6MjoicHgiO3M6NDoiZmFjZSI7czo4OiJQVCBTZXJpZiI7czo1OiJzdHlsZSI7czo0OiJib2xkIjtzOjU6ImNvbG9yIjtzOjc6IiNGRkZGRkYiO30iO3M6MTE6Indvb190YWdsaW5lIjtzOjU6ImZhbHNlIjtzOjE2OiJ3b29fZm9udF90YWdsaW5lIjtzOjEzMzoiYTo1OntzOjQ6InNpemUiO3M6MjoiMTgiO3M6NDoidW5pdCI7czoyOiJweCI7czo0OiJmYWNlIjtzOjE3OiJZYW5vbmUgS2FmZmVlc2F0eiI7czo1OiJzdHlsZSI7czo2OiJub3JtYWwiO3M6NToiY29sb3IiO3M6NzoiIzk5OTk5OSI7fSI7czoxODoid29vX2N1c3RvbV9mYXZpY29uIjtzOjA6IiI7czoyMDoid29vX2dvb2dsZV9hbmFseXRpY3MiO3M6MDoiIjtzOjEyOiJ3b29fZmVlZF91cmwiO3M6MDoiIjtzOjE5OiJ3b29fc3Vic2NyaWJlX2VtYWlsIjtzOjA6IiI7czoyMToid29vX2NvbnRhY3Rmb3JtX2VtYWlsIjtzOjA6IiI7czoxNDoid29vX2N1c3RvbV9jc3MiO3M6MDoiIjtzOjEyOiJ3b29fY29tbWVudHMiO3M6NDoicG9zdCI7czoxNjoid29vX3Bvc3RfY29udGVudCI7czo3OiJleGNlcnB0IjtzOjE1OiJ3b29fcG9zdF9hdXRob3IiO3M6NToiZmFsc2UiO3M6MjA6Indvb19icmVhZGNydW1ic19zaG93IjtzOjQ6InRydWUiO3M6MTk6Indvb19wYWdpbmF0aW9uX3R5cGUiO3M6MTU6InBhZ2luYXRlZF9saW5rcyI7czoxNDoid29vX2JvZHlfY29sb3IiO3M6NzoiIzAwMDAwMCI7czoxMjoid29vX2JvZHlfaW1nIjtzOjY5OiJodHRwOi8vbG9jYWxob3N0L29yaWdpbmFsaG91c2Uvd3AtY29udGVudC91cGxvYWRzLzIwMTEvMDYvcGF0dGVybi5qcGciO3M6MTU6Indvb19ib2R5X3JlcGVhdCI7czo4OiJyZXBlYXQteSI7czoxMjoid29vX2JvZHlfcG9zIjtzOjEwOiJ0b3AgY2VudGVyIjtzOjE0OiJ3b29fbGlua19jb2xvciI7czowOiIiO3M6MjA6Indvb19saW5rX2hvdmVyX2NvbG9yIjtzOjA6IiI7czoxNjoid29vX2J1dHRvbl9jb2xvciI7czowOiIiO3M6MTQ6Indvb190eXBvZ3JhcGh5IjtzOjU6ImZhbHNlIjtzOjEzOiJ3b29fZm9udF9ib2R5IjtzOjEzMzoiYTo1OntzOjQ6InNpemUiO3M6MjoiMTIiO3M6NDoidW5pdCI7czoyOiJweCI7czo0OiJmYWNlIjtzOjE3OiJBcmlhbCwgc2Fucy1zZXJpZiI7czo1OiJzdHlsZSI7czo2OiJub3JtYWwiO3M6NToiY29sb3IiO3M6NzoiIzU1NTU1NSI7fSI7czoxMjoid29vX2ZvbnRfbmF2IjtzOjEzMzoiYTo1OntzOjQ6InNpemUiO3M6MjoiMTQiO3M6NDoidW5pdCI7czoyOiJweCI7czo0OiJmYWNlIjtzOjE3OiJBcmlhbCwgc2Fucy1zZXJpZiI7czo1OiJzdHlsZSI7czo2OiJub3JtYWwiO3M6NToiY29sb3IiO3M6NzoiIzU1NTU1NSI7fSI7czoxOToid29vX2ZvbnRfcG9zdF90aXRsZSI7czoxMzE6ImE6NTp7czo0OiJzaXplIjtzOjI6IjI0IjtzOjQ6InVuaXQiO3M6MjoicHgiO3M6NDoiZmFjZSI7czoxNzoiQXJpYWwsIHNhbnMtc2VyaWYiO3M6NToic3R5bGUiO3M6NDoiYm9sZCI7czo1OiJjb2xvciI7czo3OiIjMjIyMjIyIjt9IjtzOjE4OiJ3b29fZm9udF9wb3N0X21ldGEiO3M6MTMzOiJhOjU6e3M6NDoic2l6ZSI7czoyOiIxMiI7czo0OiJ1bml0IjtzOjI6InB4IjtzOjQ6ImZhY2UiO3M6MTc6IkFyaWFsLCBzYW5zLXNlcmlmIjtzOjU6InN0eWxlIjtzOjY6Im5vcm1hbCI7czo1OiJjb2xvciI7czo3OiIjOTk5OTk5Ijt9IjtzOjE5OiJ3b29fZm9udF9wb3N0X2VudHJ5IjtzOjEzMzoiYTo1OntzOjQ6InNpemUiO3M6MjoiMTQiO3M6NDoidW5pdCI7czoyOiJweCI7czo0OiJmYWNlIjtzOjE3OiJBcmlhbCwgc2Fucy1zZXJpZiI7czo1OiJzdHlsZSI7czo2OiJub3JtYWwiO3M6NToiY29sb3IiO3M6NzoiIzU1NTU1NSI7fSI7czoyMjoid29vX2ZvbnRfd2lkZ2V0X3RpdGxlcyI7czoxMzE6ImE6NTp7czo0OiJzaXplIjtzOjI6IjE2IjtzOjQ6InVuaXQiO3M6MjoicHgiO3M6NDoiZmFjZSI7czoxNzoiQXJpYWwsIHNhbnMtc2VyaWYiO3M6NToic3R5bGUiO3M6NDoiYm9sZCI7czo1OiJjb2xvciI7czo3OiIjNTU1NTU1Ijt9IjtzOjE0OiJ3b29faG9tZV9pbnRybyI7czowOiIiO3M6MTA6Indvb19zbGlkZXIiO3M6NToiZmFsc2UiO3M6MTg6Indvb19zbGlkZXJfZW50cmllcyI7czoxOiIzIjtzOjE4OiJ3b29fc2xpZGVyX2NvbnRlbnQiO3M6NToiZmFsc2UiO3M6MTY6Indvb19zbGlkZXJfc3BlZWQiO3M6MzoiNTAwIjtzOjE1OiJ3b29fc2xpZGVyX2F1dG8iO3M6NToiZmFsc2UiO3M6MTk6Indvb19zbGlkZXJfaW50ZXJ2YWwiO3M6NDoiNjAwMCI7czoxNToid29vX3NpdGVfbGF5b3V0IjtzOjE5OiJsYXlvdXQtbGVmdC1jb250ZW50IjtzOjE0OiJ3b29fZG9uYXRlX2J0biI7czo1OiJmYWxzZSI7czoxNjoid29vX2RvbmF0ZV9tZXRlciI7czo1OiJmYWxzZSI7czoxNzoid29vX2RvbmF0ZV9yYWlzZWQiO3M6MToiMCI7czoxNzoid29vX2RvbmF0ZV90YXJnZXQiO3M6MToiMCI7czoxOToid29vX2RvbmF0ZV9jdXJyZW5jeSI7czozOiJVU0QiO3M6MjY6Indvb19kb25hdGVfY3VycmVuY3lfc3ltYm9sIjtzOjE6IiQiO3M6MTY6Indvb19kb25hdGVfdGl0bGUiO3M6MDoiIjtzOjE1OiJ3b29fZG9uYXRlX2Rlc2MiO3M6MDoiIjtzOjIyOiJ3b29fZG9uYXRlX21ldGVyX2xhcmdlIjtzOjQ6InRydWUiO3M6MTk6Indvb19kb25hdGVfYnRuX3RleHQiO3M6MTE6IkRvbmF0ZSBOb3chIjtzOjIxOiJ3b29fZG9uYXRlX2N1c3RvbWxpbmsiO3M6MDoiIjtzOjE3OiJ3b29fZG9uYXRlX3BheXBhbCI7czowOiIiO3M6MTc6Indvb19kb25hdGVfYW1vdW50IjtzOjA6IiI7czoxNToid29vX2RvbmF0ZV9tb3JlIjtzOjE0OiJTZWxlY3QgYSBwYWdlOiI7czoyMjoid29vX3Bvc3RfaW1hZ2Vfc3VwcG9ydCI7czo0OiJ0cnVlIjtzOjE0OiJ3b29fcGlzX3Jlc2l6ZSI7czo0OiJ0cnVlIjtzOjE3OiJ3b29fcGlzX2hhcmRfY3JvcCI7czo0OiJ0cnVlIjtzOjEwOiJ3b29fcmVzaXplIjtzOjQ6InRydWUiO3M6MTI6Indvb19hdXRvX2ltZyI7czo1OiJmYWxzZSI7czoxMToid29vX3RodW1iX3ciO3M6MzoiMTYwIjtzOjExOiJ3b29fdGh1bWJfaCI7czozOiIxNjAiO3M6MTU6Indvb190aHVtYl9hbGlnbiI7czo5OiJhbGlnbmxlZnQiO3M6MTY6Indvb190aHVtYl9zaW5nbGUiO3M6NDoidHJ1ZSI7czoxMjoid29vX3NpbmdsZV93IjtzOjM6IjIwMCI7czoxMjoid29vX3NpbmdsZV9oIjtzOjM6IjIwMCI7czoyMjoid29vX3RodW1iX3NpbmdsZV9hbGlnbiI7czoxMDoiYWxpZ25yaWdodCI7czoxMzoid29vX3Jzc190aHVtYiI7czo1OiJmYWxzZSI7czoxNzoid29vX2Zvb3Rlcl9zb2NpYWwiO3M6NDoidHJ1ZSI7czoxOToid29vX2Zvb3Rlcl9hZmZfbGluayI7czowOiIiO3M6MTU6Indvb19mb290ZXJfbGVmdCI7czo1OiJmYWxzZSI7czoyMDoid29vX2Zvb3Rlcl9sZWZ0X3RleHQiO3M6MDoiIjtzOjE2OiJ3b29fZm9vdGVyX3JpZ2h0IjtzOjU6ImZhbHNlIjtzOjIxOiJ3b29fZm9vdGVyX3JpZ2h0X3RleHQiO3M6MDoiIjtzOjExOiJ3b29fY29ubmVjdCI7czo0OiJ0cnVlIjtzOjE3OiJ3b29fY29ubmVjdF90aXRsZSI7czowOiIiO3M6MTk6Indvb19jb25uZWN0X2NvbnRlbnQiO3M6MDoiIjtzOjI1OiJ3b29fY29ubmVjdF9uZXdzbGV0dGVyX2lkIjtzOjA6IiI7czoxNToid29vX2Nvbm5lY3RfcnNzIjtzOjQ6InRydWUiO3M6MTk6Indvb19jb25uZWN0X3R3aXR0ZXIiO3M6Mzc6Imh0dHA6Ly90d2l0dGVyLmNvbS8jIS9vcmlnaW5hbGhvdXNlc2wiO3M6MjA6Indvb19jb25uZWN0X2ZhY2Vib29rIjtzOjgxOiJodHRwOi8vd3d3LmZhY2Vib29rLmNvbS9wYWdlcy9PUklHSU5BTC1IT1VTRS1Nb2JpbGlhcmlvLXktZGVjb3JhY2lvbi8xNjEzNjUwMDEzNjMiO3M6MTk6Indvb19jb25uZWN0X3lvdXR1YmUiO3M6MDoiIjtzOjE4OiJ3b29fY29ubmVjdF9mbGlja3IiO3M6MDoiIjtzOjIwOiJ3b29fY29ubmVjdF9saW5rZWRpbiI7czowOiIiO3M6MjE6Indvb19jb25uZWN0X2RlbGljaW91cyI7czowOiIiO3M6MTk6Indvb19jb25uZWN0X3JlbGF0ZWQiO3M6NToiZmFsc2UiO3M6MTk6InNibV93b29fc2JtX29wdGlvbnMiO3M6NzM6ImE6Mjp7czo4OiJzaWRlYmFycyI7YTowOnt9czo4OiJzZXR0aW5ncyI7YToxOntzOjc6ImluZm9ib3giO3M6NDoic2hvdyI7fX0iO30=";s:4:"type";s:8:"textarea";}i:17;a:3:{s:4:"name";s:9:"Admin Bar";s:4:"icon";s:6:"header";s:4:"type";s:7:"heading";}i:18;a:5:{s:4:"name";s:27:"Disable WordPress Admin Bar";s:4:"desc";s:32:"Disable the WordPress Admin Bar.";s:2:"id";s:31:"framework_woo_admin_bar_disable";s:3:"std";s:0:"";s:4:"type";s:8:"checkbox";}i:19;a:5:{s:4:"name";s:46:"Enable the WooFramework Admin Bar enhancements";s:4:"desc";s:130:"Enable several WooFramework-specific enhancements to the WordPress Admin Bar, such as custom navigation items for ''Theme Options''.";s:2:"id";s:36:"framework_woo_admin_bar_enhancements";s:3:"std";s:0:"";s:4:"type";s:8:"checkbox";}}', 'yes'), +(267, 0, 'theme_mods_originalhouse', 'a:2:{i:0;b:0;s:18:"nav_menu_locations";a:4:{s:12:"primary-menu";i:6;s:14:"secondary-menu";i:7;s:8:"top-menu";i:0;s:11:"footer-menu";i:0;}}', 'yes'), +(269, 0, 'sbm_woo_sbm_options', 'a:2:{s:8:"sidebars";a:0:{}s:8:"settings";a:1:{s:7:"infobox";s:4:"show";}}', 'yes'), +(270, 0, 'framework_woo_super_user', 'rodax', 'yes'), +(271, 0, 'framework_woo_seo_disable', 'false', 'yes'), +(272, 0, 'framework_woo_sbm_disable', 'true', 'yes'), +(273, 0, 'framework_woo_buy_themes_disable', 'true', 'yes'), +(274, 0, 'framework_woo_woonav', 'false', 'yes'), +(275, 0, 'framework_woo_theme_version_checker', 'true', 'yes'), +(276, 0, 'framework_woo_disable_shortcodes', 'false', 'yes'), +(277, 0, 'framework_woo_disable_generator', 'false', 'yes'), +(278, 0, 'framework_woo_default_image', '', 'yes'), +(279, 0, 'framework_woo_backend_header_image', '', 'yes'), +(280, 0, 'framework_woo_backend_icon', '', 'yes'), +(281, 0, 'framework_woo_custom_login_logo', '', 'yes'), +(285, 0, 'woo_seo_template', 'a:31:{i:0;a:3:{s:4:"name";s:16:"General Settings";s:4:"icon";s:7:"general";s:4:"type";s:7:"heading";}i:1;a:3:{s:4:"name";s:11:"Please Read";s:4:"type";s:4:"info";s:3:"std";s:399:"Welcome to the WooSEO feature.
Here we help you take control of your search engine readiness with some in-built theme options. Our themes do however support some of WordPress.org''s most commonly used SEO plugins - All-in-One SEO Pack, Headspace 2 and WordPress SEO By Yoast. Use the checkbox below to use 3rd party plugin data.";}i:2;a:5:{s:4:"name";s:25:"Use 3rd Party Plugin Data";s:4:"desc";s:198:"Meta data added to custom fields in posts and pages will be extracted and used where applicable. This typically does not include Homepages and Archives, and only Singular templates.";s:2:"id";s:28:"seo_woo_use_third_party_data";s:3:"std";s:5:"false";s:4:"type";s:8:"checkbox";}i:3;a:5:{s:4:"name";s:22:"Hide SEO custom fields";s:4:"desc";s:82:"Check this box to hide the input fields created in the post and page edit screens.";s:2:"id";s:19:"seo_woo_hide_fields";s:3:"std";s:5:"false";s:4:"type";s:8:"checkbox";}i:4;a:3:{s:4:"name";s:10:"Page Title";s:4:"icon";s:4:"misc";s:4:"type";s:7:"heading";}i:5;a:5:{s:4:"name";s:9:"Separator";s:4:"desc";s:54:"Define a new separator character for your page titles.";s:2:"id";s:17:"seo_woo_seperator";s:3:"std";s:1:"|";s:4:"type";s:4:"text";}i:6;a:5:{s:4:"name";s:10:"Blog Title";s:4:"desc";s:90:"NOTE: This is the same setting as per the SETTINGS > GENERAL tab in the WordPress backend.";s:2:"id";s:8:"blogname";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:7;a:5:{s:4:"name";s:16:"Blog Description";s:4:"desc";s:90:"NOTE: This is the same setting as per the SETTINGS > GENERAL tab in the WordPress backend.";s:2:"id";s:15:"blogdescription";s:3:"std";s:0:"";s:4:"type";s:4:"text";}i:8;a:6:{s:4:"name";s:18:"Enable woo_title()";s:4:"desc";s:153:"woo_title() makes use of WordPress''s built in wp_title() function to control the output for your page titles. It''s also recommended for use with plugins.";s:2:"id";s:16:"seo_woo_wp_title";s:3:"std";s:5:"false";s:5:"class";s:9:"collapsed";s:4:"type";s:8:"checkbox";}i:9;a:6:{s:4:"name";s:21:"Disable Custom Titles";s:4:"desc";s:130:"If you prefer to have uniform titles across you theme. Alternatively they will be generated from custom fields and/or plugin data.";s:2:"id";s:29:"seo_woo_wp_custom_field_title";s:3:"std";s:5:"false";s:5:"class";s:6:"hidden";s:4:"type";s:8:"checkbox";}i:10;a:6:{s:4:"name";s:14:"Paged Variable";s:4:"desc";s:64:"The name variable that will appear then paging through archives.";s:2:"id";s:17:"seo_woo_paged_var";s:3:"std";s:4:"Page";s:5:"class";s:6:"hidden";s:4:"type";s:4:"text";}i:11;a:7:{s:4:"name";s:23:"Paged Variable Position";s:4:"desc";s:57:"Change the position where the paged variable will appear.";s:2:"id";s:21:"seo_woo_paged_var_pos";s:3:"std";s:6:"before";s:5:"class";s:6:"hidden";s:7:"options";a:2:{s:6:"before";s:6:"Before";s:5:"after";s:5:"After";}s:4:"type";s:7:"select2";}i:12;a:7:{s:4:"name";s:21:"Homepage Title Layout";s:4:"desc";s:65:"Define the order the title, description and meta data appears in.";s:2:"id";s:19:"seo_woo_home_layout";s:3:"std";s:0:"";s:5:"class";s:6:"hidden";s:7:"options";a:3:{s:1:"a";s:28:"Blog title; blog description";s:1:"b";s:10:"Blog title";s:1:"c";s:16:"Blog description";}s:4:"type";s:7:"select2";}i:13;a:7:{s:4:"name";s:19:"Single Title Layout";s:4:"desc";s:65:"Define the order the title, description and meta data appears in.";s:2:"id";s:21:"seo_woo_single_layout";s:3:"std";s:0:"";s:5:"class";s:6:"hidden";s:7:"options";a:5:{s:1:"a";s:22:"Page title; Blog title";s:1:"b";s:11:"Page title;";s:1:"c";s:23:"Blog title; Page title;";s:1:"d";s:28:"Page title; Blog description";s:1:"e";s:40:"Blog title; Page title; Blog description";}s:4:"type";s:7:"select2";}i:14;a:7:{s:4:"name";s:17:"Page Title Layout";s:4:"desc";s:65:"Define the order the title, description and meta data appears in.";s:2:"id";s:19:"seo_woo_page_layout";s:3:"std";s:0:"";s:5:"class";s:6:"hidden";s:7:"options";a:5:{s:1:"a";s:22:"Page title; Blog title";s:1:"b";s:11:"Page title;";s:1:"c";s:23:"Blog title; Page title;";s:1:"d";s:28:"Page title; Blog description";s:1:"e";s:40:"Blog title; Page title; Blog description";}s:4:"type";s:7:"select2";}i:15;a:7:{s:4:"name";s:20:"Archive Title Layout";s:4:"desc";s:65:"Define the order the title, description and meta data appears in.";s:2:"id";s:22:"seo_woo_archive_layout";s:3:"std";s:0:"";s:5:"class";s:6:"hidden";s:7:"options";a:5:{s:1:"a";s:22:"Page title; Blog title";s:1:"b";s:11:"Page title;";s:1:"c";s:23:"Blog title; Page title;";s:1:"d";s:28:"Page title; Blog description";s:1:"e";s:40:"Blog title; Page title; Blog description";}s:4:"type";s:7:"select2";}i:16;a:3:{s:4:"name";s:13:"Indexing Meta";s:4:"icon";s:4:"misc";s:4:"type";s:7:"heading";}i:17;a:6:{s:4:"name";s:16:"Archive Indexing";s:4:"desc";s:128:"Select which archives to index on your site. Aids in removing duplicate content from being indexed, preventing content dilution.";s:2:"id";s:21:"seo_woo_meta_indexing";s:3:"std";s:8:"category";s:4:"type";s:10:"multicheck";s:7:"options";a:5:{s:8:"category";s:17:"Category Archives";s:3:"tag";s:12:"Tag Archives";s:6:"author";s:12:"Author Pages";s:6:"search";s:14:"Search Results";s:4:"date";s:13:"Date Archives";}}i:18;a:5:{s:4:"name";s:49:"Set meta for Posts & Pages to ''follow'' by default";s:4:"desc";s:143:"By default the woo_meta(); adds a ''nofollow'' meta to post and pages, meaning search engines will not index pages leading away from these pages.";s:2:"id";s:26:"seo_woo_meta_single_follow";s:3:"std";s:0:"";s:4:"type";s:8:"checkbox";}i:19;a:3:{s:4:"name";s:16:"Description Meta";s:4:"icon";s:4:"misc";s:4:"type";s:7:"heading";}i:20;a:6:{s:4:"name";s:20:"Homepage Description";s:4:"desc";s:61:"Choose where to populate your Homepage meta description from.";s:2:"id";s:22:"seo_woo_meta_home_desc";s:3:"std";s:1:"a";s:7:"options";a:3:{s:1:"a";s:3:"Off";s:1:"b";s:24:"From WP Site Description";s:1:"c";s:32:"From Custom Homepage Description";}s:4:"type";s:5:"radio";}i:21;a:5:{s:4:"name";s:27:"Custom Homepage Description";s:4:"desc";s:47:"Add a custom meta description to your homepage.";s:2:"id";s:29:"seo_woo_meta_home_desc_custom";s:3:"std";s:0:"";s:4:"type";s:8:"textarea";}i:22;a:6:{s:4:"name";s:28:"Single Page/Post Description";s:4:"desc";s:79:"Add your post/page description from custom fields. * See below";s:2:"id";s:24:"seo_woo_meta_single_desc";s:3:"std";s:1:"a";s:7:"options";a:3:{s:1:"a";s:5:"Off *";s:1:"b";s:33:"From Customs Field and/or Plugins";s:1:"c";s:36:"Automatically from Post/Page Content";}s:4:"type";s:5:"radio";}i:23;a:6:{s:4:"name";s:29:"Global Post/Page Descriptions";s:4:"desc";s:189:"Add a custom meta description to your posts and pages. This will only show if no other data is available from the selection above. Will still be added even if setting above is set to "Off".";s:2:"id";s:33:"seo_woo_meta_single_desc_sitewide";s:3:"std";s:0:"";s:5:"class";s:9:"collapsed";s:4:"type";s:8:"checkbox";}i:24;a:6:{s:4:"name";s:22:"Add Global Description";s:4:"desc";s:27:"Add your global decription.";s:2:"id";s:31:"seo_woo_meta_single_desc_custom";s:3:"std";s:0:"";s:5:"class";s:6:"hidden";s:4:"type";s:8:"textarea";}i:25;a:3:{s:4:"name";s:12:"Keyword Meta";s:4:"icon";s:4:"misc";s:4:"type";s:7:"heading";}i:26;a:6:{s:4:"name";s:17:"Homepage Keywords";s:4:"desc";s:61:"Choose where to populate your Homepage meta description from.";s:2:"id";s:21:"seo_woo_meta_home_key";s:3:"std";s:1:"a";s:7:"options";a:2:{s:1:"a";s:3:"Off";s:1:"c";s:29:"From Custom Homepage Keywords";}s:4:"type";s:5:"radio";}i:27;a:5:{s:4:"name";s:24:"Custom Homepage Keywords";s:4:"desc";s:58:"Add a (comma separated) list of keywords to your homepage.";s:2:"id";s:28:"seo_woo_meta_home_key_custom";s:3:"std";s:0:"";s:4:"type";s:8:"textarea";}i:28;a:6:{s:4:"name";s:25:"Single Page/Post Keywords";s:4:"desc";s:75:"Add your post/page keywords from custom field. * See below";s:2:"id";s:23:"seo_woo_meta_single_key";s:3:"std";s:1:"a";s:7:"options";a:3:{s:1:"a";s:5:"Off *";s:1:"b";s:33:"From Custom Fields and/or Plugins";s:1:"c";s:45:"Automatically from Post Tags & Categories";}s:4:"type";s:5:"radio";}i:29;a:6:{s:4:"name";s:25:"Custom Post/Page Keywords";s:4:"desc";s:221:"Add custom meta keywords to your posts and pages. This will only show if no other data is available from the options above. Even if the option above is set to ''Off'', this will still be added to your site.";s:2:"id";s:32:"seo_woo_meta_single_key_sitewide";s:3:"std";s:0:"";s:5:"class";s:9:"collapsed";s:4:"type";s:8:"checkbox";}i:30;a:6:{s:4:"name";s:25:"Custom Post/Page Keywords";s:4:"desc";s:65:"Add a (comma separated) list of keywords to your posts and pages.";s:2:"id";s:30:"seo_woo_meta_single_key_custom";s:3:"std";s:0:"";s:5:"class";s:6:"hidden";s:4:"type";s:8:"textarea";}}', 'yes'), +(283, 0, 'framework_woo_admin_bar_disable', 'false', 'yes'), +(284, 0, 'framework_woo_admin_bar_enhancements', 'true', 'yes'), +(286, 0, 'seo_woo_use_third_party_data', 'false', 'yes'), +(287, 0, 'seo_woo_hide_fields', 'false', 'yes'), +(288, 0, 'seo_woo_seperator', '|', 'yes'), +(289, 0, 'seo_woo_wp_title', 'false', 'yes'), +(290, 0, 'seo_woo_wp_custom_field_title', 'false', 'yes'), +(291, 0, 'seo_woo_paged_var', 'Page', 'yes'), +(292, 0, 'seo_woo_paged_var_pos', 'before', 'yes'), +(293, 0, 'seo_woo_home_layout', 'a', 'yes'), +(294, 0, 'seo_woo_single_layout', 'a', 'yes'), +(295, 0, 'seo_woo_page_layout', 'a', 'yes'), +(296, 0, 'seo_woo_archive_layout', 'a', 'yes'), +(297, 0, 'seo_woo_meta_indexing_category', 'true', 'yes'), +(298, 0, 'seo_woo_meta_indexing_tag', 'false', 'yes'), +(299, 0, 'seo_woo_meta_indexing_author', 'false', 'yes'), +(300, 0, 'seo_woo_meta_indexing_search', 'false', 'yes'), +(301, 0, 'seo_woo_meta_indexing_date', 'false', 'yes'), +(302, 0, 'seo_woo_meta_single_follow', 'false', 'yes'), +(303, 0, 'seo_woo_meta_home_desc', 'a', 'yes'), +(304, 0, 'seo_woo_meta_home_desc_custom', '', 'yes'), +(305, 0, 'seo_woo_meta_single_desc', 'a', 'yes'), +(306, 0, 'seo_woo_meta_single_desc_sitewide', 'false', 'yes'), +(307, 0, 'seo_woo_meta_single_desc_custom', '', 'yes'), +(308, 0, 'seo_woo_meta_home_key', 'a', 'yes'), +(309, 0, 'seo_woo_meta_home_key_custom', '', 'yes'), +(310, 0, 'seo_woo_meta_single_key', 'a', 'yes'), +(311, 0, 'seo_woo_meta_single_key_sitewide', 'false', 'yes'), +(312, 0, 'seo_woo_meta_single_key_custom', '', 'yes'), +(320, 0, 'custpostback_db_version', '', 'yes'), +(321, 0, 'custBack_resultspp', '10', 'yes'), +(313, 0, 'woo_connect_blogger', 'http://elblogdeoriginalhouse.blogspot.com/', 'yes'), +(330, 0, '_site_transient_update_plugins', 'O:8:"stdClass":1:{s:12:"last_checked";i:1309370670;}', 'yes'), +(314, 0, 'woo_custom_upload_tracking', 'a:0:{}', 'yes'); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `wp_postmeta` +-- + +CREATE TABLE IF NOT EXISTS `wp_postmeta` ( + `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `post_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `meta_key` varchar(255) DEFAULT NULL, + `meta_value` longtext, + PRIMARY KEY (`meta_id`), + KEY `post_id` (`post_id`), + KEY `meta_key` (`meta_key`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=195 ; + +-- +-- Volcar la base de datos para la tabla `wp_postmeta` +-- + +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(1, 2, '_wp_page_template', 'default'), +(26, 33, '_wp_attached_file', '2011/06/1portada.jpg'), +(27, 33, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:3:"600";s:6:"height";s:3:"470";s:14:"hwstring_small";s:23:"height=''96'' width=''122''";s:4:"file";s:20:"2011/06/1portada.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:3:{s:4:"file";s:20:"1portada-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:20:"1portada-300x235.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"235";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(24, 31, '_wp_attached_file', '2011/06/logo.gif'), +(25, 31, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:3:"315";s:6:"height";s:2:"80";s:14:"hwstring_small";s:23:"height=''32'' width=''128''";s:4:"file";s:16:"2011/06/logo.gif";s:5:"sizes";a:2:{s:9:"thumbnail";a:3:{s:4:"file";s:15:"logo-150x80.gif";s:5:"width";s:3:"150";s:6:"height";s:2:"80";}s:6:"medium";a:3:{s:4:"file";s:15:"logo-300x76.gif";s:5:"width";s:3:"300";s:6:"height";s:2:"76";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(22, 26, '_wp_attached_file', '2011/06/pattern.jpg'), +(23, 26, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:4:"1780";s:6:"height";s:3:"302";s:14:"hwstring_small";s:23:"height=''21'' width=''128''";s:4:"file";s:19:"2011/06/pattern.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:3:{s:4:"file";s:19:"pattern-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:18:"pattern-300x50.jpg";s:5:"width";s:3:"300";s:6:"height";s:2:"50";}s:5:"large";a:3:{s:4:"file";s:20:"pattern-1024x173.jpg";s:5:"width";s:4:"1024";s:6:"height";s:3:"173";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(21, 22, 'catablog-post-meta', 'a:5:{s:5:"image";s:34:"ACRO 66ML - 85x130x45 697€-2.jpg";s:10:"sub-images";a:0:{}s:4:"link";s:0:"";s:5:"price";s:1:"0";s:12:"product-code";s:0:"";}'), +(20, 21, 'catablog-post-meta', 'a:5:{s:5:"image";s:29:"ACRO-30A-90x150x45-649€.jpg";s:10:"sub-images";a:0:{}s:4:"link";s:0:"";s:5:"price";s:1:"0";s:12:"product-code";s:0:"";}'), +(19, 20, 'catablog-post-meta', 'a:5:{s:5:"image";s:32:"ACRO 66ML - 85x130x45 697€.jpg";s:10:"sub-images";a:0:{}s:4:"link";s:0:"";s:5:"price";s:1:"0";s:12:"product-code";s:0:"";}'), +(28, 34, '_wp_attached_file', '2011/06/2-.jpg'), +(29, 34, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:3:"600";s:6:"height";s:3:"395";s:14:"hwstring_small";s:23:"height=''84'' width=''128''";s:4:"file";s:14:"2011/06/2-.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:3:{s:4:"file";s:14:"2--150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:14:"2--300x197.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"197";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(30, 35, '_wp_attached_file', '2011/06/3-la-tienda.jpg'), +(31, 35, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:4:"1600";s:6:"height";s:4:"1200";s:14:"hwstring_small";s:23:"height=''96'' width=''128''";s:4:"file";s:23:"2011/06/3-la-tienda.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:3:{s:4:"file";s:23:"3-la-tienda-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:23:"3-la-tienda-300x225.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"225";}s:5:"large";a:3:{s:4:"file";s:24:"3-la-tienda-1024x768.jpg";s:5:"width";s:4:"1024";s:6:"height";s:3:"768";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(32, 36, '_wp_attached_file', '2011/06/3-muebles.jpg'), +(33, 36, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:3:"600";s:6:"height";s:3:"462";s:14:"hwstring_small";s:23:"height=''96'' width=''124''";s:4:"file";s:21:"2011/06/3-muebles.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:3:{s:4:"file";s:21:"3-muebles-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:21:"3-muebles-300x231.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"231";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(34, 37, '_wp_attached_file', '2011/06/4-servicios.jpg'), +(35, 37, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:3:"600";s:6:"height";s:3:"484";s:14:"hwstring_small";s:23:"height=''96'' width=''119''";s:4:"file";s:23:"2011/06/4-servicios.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:3:{s:4:"file";s:23:"4-servicios-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:23:"4-servicios-300x242.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"242";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(36, 38, '_wp_attached_file', '2011/06/5-ideas-y-consejos.jpg'), +(37, 38, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:3:"600";s:6:"height";s:3:"429";s:14:"hwstring_small";s:23:"height=''91'' width=''128''";s:4:"file";s:30:"2011/06/5-ideas-y-consejos.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:3:{s:4:"file";s:30:"5-ideas-y-consejos-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:30:"5-ideas-y-consejos-300x214.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"214";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(38, 39, '_wp_attached_file', '2011/06/7-productos.jpg'), +(39, 39, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:3:"600";s:6:"height";s:3:"431";s:14:"hwstring_small";s:23:"height=''91'' width=''128''";s:4:"file";s:23:"2011/06/7-productos.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:3:{s:4:"file";s:23:"7-productos-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:23:"7-productos-300x215.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"215";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(40, 40, '_wp_attached_file', '2011/06/8-muebles.jpg'), +(41, 40, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:3:"600";s:6:"height";s:3:"462";s:14:"hwstring_small";s:23:"height=''96'' width=''124''";s:4:"file";s:21:"2011/06/8-muebles.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:3:{s:4:"file";s:21:"8-muebles-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:21:"8-muebles-300x231.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"231";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(42, 41, '_wp_attached_file', '2011/06/9-mesas.jpg'), +(43, 41, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:3:"600";s:6:"height";s:3:"469";s:14:"hwstring_small";s:23:"height=''96'' width=''122''";s:4:"file";s:19:"2011/06/9-mesas.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:3:{s:4:"file";s:19:"9-mesas-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:19:"9-mesas-300x234.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"234";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(44, 42, '_wp_attached_file', '2011/06/10-mesas-comedor.jpg'), +(45, 42, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:3:"597";s:6:"height";s:3:"423";s:14:"hwstring_small";s:23:"height=''90'' width=''128''";s:4:"file";s:28:"2011/06/10-mesas-comedor.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:3:{s:4:"file";s:28:"10-mesas-comedor-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:28:"10-mesas-comedor-300x212.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"212";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(46, 43, '_wp_attached_file', '2011/06/11-mesas-de-centro-001.jpg'), +(47, 43, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:3:"600";s:6:"height";s:3:"452";s:14:"hwstring_small";s:23:"height=''96'' width=''128''";s:4:"file";s:34:"2011/06/11-mesas-de-centro-001.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:3:{s:4:"file";s:34:"11-mesas-de-centro-001-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:34:"11-mesas-de-centro-001-300x226.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"226";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(48, 32, '_edit_last', '1'), +(49, 32, 'image', 'http://localhost/originalhouse/wp-content/uploads/2011/06/1portada.jpg'), +(50, 32, 'seo_follow', 'false'), +(51, 32, 'seo_noindex', 'false'), +(52, 32, '_edit_lock', '1309359498:1'), +(53, 44, '_edit_last', '1'), +(54, 44, '_edit_lock', '1309365245:1'), +(55, 45, '_wp_attached_file', '2011/06/fondo-inicio.jpg'), +(56, 45, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:4:"1197";s:6:"height";s:3:"650";s:14:"hwstring_small";s:23:"height=''69'' width=''128''";s:4:"file";s:24:"2011/06/fondo-inicio.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:3:{s:4:"file";s:24:"fondo-inicio-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:24:"fondo-inicio-300x162.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"162";}s:5:"large";a:3:{s:4:"file";s:25:"fondo-inicio-1024x556.jpg";s:5:"width";s:4:"1024";s:6:"height";s:3:"556";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(61, 57, '_edit_last', '1'), +(58, 44, '_wp_page_template', 'template-fullwidth.php'), +(59, 44, 'seo_follow', 'false'), +(60, 44, 'seo_noindex', 'false'), +(62, 57, '_edit_lock', '1309365223:1'), +(63, 57, '_wp_page_template', 'default'), +(64, 57, 'seo_follow', 'false'), +(65, 57, 'seo_noindex', 'false'), +(66, 60, '_menu_item_type', 'post_type'), +(67, 60, '_menu_item_menu_item_parent', '0'), +(68, 60, '_menu_item_object_id', '44'), +(69, 60, '_menu_item_object', 'page'), +(70, 60, '_menu_item_target', ''), +(71, 60, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'), +(72, 60, '_menu_item_xfn', ''), +(73, 60, '_menu_item_url', ''), +(75, 61, '_edit_last', '1'), +(76, 61, '_edit_lock', '1309378118:1'), +(77, 62, '_wp_attached_file', '2011/06/fondo-la-tienda.jpg'), +(78, 62, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:4:"1197";s:6:"height";s:3:"650";s:14:"hwstring_small";s:23:"height=''69'' width=''128''";s:4:"file";s:27:"2011/06/fondo-la-tienda.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:3:{s:4:"file";s:27:"fondo-la-tienda-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:27:"fondo-la-tienda-300x162.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"162";}s:5:"large";a:3:{s:4:"file";s:28:"fondo-la-tienda-1024x556.jpg";s:5:"width";s:4:"1024";s:6:"height";s:3:"556";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(79, 63, '_wp_attached_file', '2011/06/fondo-localizanos.jpg'), +(80, 63, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:4:"1197";s:6:"height";s:3:"650";s:14:"hwstring_small";s:23:"height=''69'' width=''128''";s:4:"file";s:29:"2011/06/fondo-localizanos.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:3:{s:4:"file";s:29:"fondo-localizanos-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:29:"fondo-localizanos-300x162.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"162";}s:5:"large";a:3:{s:4:"file";s:30:"fondo-localizanos-1024x556.jpg";s:5:"width";s:4:"1024";s:6:"height";s:3:"556";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(81, 64, '_wp_attached_file', '2011/06/fondo-servicios.jpg'), +(82, 64, '_wp_attachment_metadata', 'a:6:{s:5:"width";s:4:"1197";s:6:"height";s:3:"650";s:14:"hwstring_small";s:23:"height=''69'' width=''128''";s:4:"file";s:27:"2011/06/fondo-servicios.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:3:{s:4:"file";s:27:"fondo-servicios-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:27:"fondo-servicios-300x162.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"162";}s:5:"large";a:3:{s:4:"file";s:28:"fondo-servicios-1024x556.jpg";s:5:"width";s:4:"1024";s:6:"height";s:3:"556";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}'), +(83, 61, '_wp_page_template', 'default'), +(84, 61, 'seo_follow', 'false'), +(85, 61, 'seo_noindex', 'false'), +(86, 69, '_menu_item_type', 'post_type'), +(87, 69, '_menu_item_menu_item_parent', '0'), +(88, 69, '_menu_item_object_id', '61'), +(89, 69, '_menu_item_object', 'page'), +(90, 69, '_menu_item_target', ''), +(91, 69, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'), +(92, 69, '_menu_item_xfn', ''), +(93, 69, '_menu_item_url', ''), +(95, 57, '_wp_trash_meta_status', 'publish'), +(96, 57, '_wp_trash_meta_time', '1309371228'), +(97, 2, '_wp_trash_meta_status', 'publish'), +(98, 2, '_wp_trash_meta_time', '1309371228'), +(99, 75, '_menu_item_type', 'post_type'), +(100, 75, '_menu_item_menu_item_parent', '76'), +(101, 75, '_menu_item_object_id', '61'), +(102, 75, '_menu_item_object', 'page'), +(103, 75, '_menu_item_target', ''), +(104, 75, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'), +(105, 75, '_menu_item_xfn', ''), +(106, 75, '_menu_item_url', ''), +(117, 77, '_menu_item_type', 'post_type'), +(108, 76, '_menu_item_type', 'post_type'), +(109, 76, '_menu_item_menu_item_parent', '0'), +(110, 76, '_menu_item_object_id', '44'), +(111, 76, '_menu_item_object', 'page'), +(112, 76, '_menu_item_target', ''), +(113, 76, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'), +(114, 76, '_menu_item_xfn', ''), +(115, 76, '_menu_item_url', ''), +(118, 77, '_menu_item_menu_item_parent', '75'), +(119, 77, '_menu_item_object_id', '61'), +(120, 77, '_menu_item_object', 'page'), +(121, 77, '_menu_item_target', ''), +(122, 77, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'), +(123, 77, '_menu_item_xfn', ''), +(124, 77, '_menu_item_url', ''), +(166, 82, 'seo_noindex', 'false'), +(126, 78, '_menu_item_type', 'post_type'), +(127, 78, '_menu_item_menu_item_parent', '76'), +(128, 78, '_menu_item_object_id', '61'), +(129, 78, '_menu_item_object', 'page'), +(130, 78, '_menu_item_target', ''), +(131, 78, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'), +(132, 78, '_menu_item_xfn', ''), +(133, 78, '_menu_item_url', ''), +(165, 82, 'seo_follow', 'false'), +(135, 79, '_menu_item_type', 'post_type'), +(136, 79, '_menu_item_menu_item_parent', '76'), +(137, 79, '_menu_item_object_id', '61'), +(138, 79, '_menu_item_object', 'page'), +(139, 79, '_menu_item_target', ''), +(140, 79, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'), +(141, 79, '_menu_item_xfn', ''), +(142, 79, '_menu_item_url', ''), +(164, 82, '_wp_page_template', 'default'), +(144, 80, '_menu_item_type', 'post_type'), +(145, 80, '_menu_item_menu_item_parent', '79'), +(146, 80, '_menu_item_object_id', '61'), +(147, 80, '_menu_item_object', 'page'), +(148, 80, '_menu_item_target', ''), +(149, 80, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'), +(150, 80, '_menu_item_xfn', ''), +(151, 80, '_menu_item_url', ''), +(163, 82, '_edit_lock', '1309377341:1'), +(153, 81, '_menu_item_type', 'taxonomy'), +(154, 81, '_menu_item_menu_item_parent', '79'), +(155, 81, '_menu_item_object_id', '1'), +(156, 81, '_menu_item_object', 'category'), +(157, 81, '_menu_item_target', ''), +(158, 81, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'), +(159, 81, '_menu_item_xfn', ''), +(160, 81, '_menu_item_url', ''), +(162, 82, '_edit_last', '1'), +(167, 85, '_menu_item_type', 'post_type'), +(168, 85, '_menu_item_menu_item_parent', '69'), +(169, 85, '_menu_item_object_id', '82'), +(170, 85, '_menu_item_object', 'page'), +(171, 85, '_menu_item_target', ''), +(172, 85, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'), +(173, 85, '_menu_item_xfn', ''), +(174, 85, '_menu_item_url', ''), +(176, 88, '_edit_last', '1'), +(177, 88, '_edit_lock', '1309377614:1'), +(178, 88, '_wp_page_template', 'template-contact.php'), +(179, 88, 'seo_follow', 'false'), +(180, 88, 'seo_noindex', 'false'), +(181, 90, '_menu_item_type', 'post_type'), +(182, 90, '_menu_item_menu_item_parent', '0'), +(183, 90, '_menu_item_object_id', '88'), +(184, 90, '_menu_item_object', 'page'), +(185, 90, '_menu_item_target', ''), +(186, 90, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'), +(187, 90, '_menu_item_xfn', ''), +(188, 90, '_menu_item_url', ''), +(190, 96, '_edit_last', '1'), +(191, 96, '_edit_lock', '1309378399:1'), +(192, 96, '_wp_page_template', 'template-fullwidth.php'), +(193, 96, 'seo_follow', 'false'), +(194, 96, 'seo_noindex', 'false'); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `wp_posts` +-- + +CREATE TABLE IF NOT EXISTS `wp_posts` ( + `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `post_author` bigint(20) unsigned NOT NULL DEFAULT '0', + `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_content` longtext NOT NULL, + `post_title` text NOT NULL, + `post_excerpt` text NOT NULL, + `post_status` varchar(20) NOT NULL DEFAULT 'publish', + `comment_status` varchar(20) NOT NULL DEFAULT 'open', + `ping_status` varchar(20) NOT NULL DEFAULT 'open', + `post_password` varchar(20) NOT NULL DEFAULT '', + `post_name` varchar(200) NOT NULL DEFAULT '', + `to_ping` text NOT NULL, + `pinged` text NOT NULL, + `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_content_filtered` text NOT NULL, + `post_parent` bigint(20) unsigned NOT NULL DEFAULT '0', + `guid` varchar(255) NOT NULL DEFAULT '', + `menu_order` int(11) NOT NULL DEFAULT '0', + `post_type` varchar(20) NOT NULL DEFAULT 'post', + `post_mime_type` varchar(100) NOT NULL DEFAULT '', + `comment_count` bigint(20) NOT NULL DEFAULT '0', + PRIMARY KEY (`ID`), + KEY `post_name` (`post_name`), + KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), + KEY `post_parent` (`post_parent`), + KEY `post_author` (`post_author`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=100 ; + +-- +-- Volcar la base de datos para la tabla `wp_posts` +-- + +INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES +(1, 1, '2011-06-28 15:12:45', '2011-06-28 15:12:45', 'Bienvenido a WordPress. Esta es tu primera entrada. Edítala o bórrala, ¡y comienza a publicar!.', '¡Hola mundo!', '', 'publish', 'open', 'open', '', 'hola-mundo', '', '', '2011-06-28 15:12:45', '2011-06-28 15:12:45', '', 0, 'http://localhost/originalhouse/?p=1', 0, 'post', '', 1), +(2, 1, '2011-06-28 15:12:45', '2011-06-28 15:12:45', 'Esta es una página de ejemplo, Es diferente a una entrada de un blog porque se mantiene estática y, en la mayoría de temas, se mostrará en la barra de navegación. Casi todo el mundo comienza con una página Sobre mí para presentarse a los potenciales visitantes. Puede decir algo así:\n\n
¡Hola!: Soy físico durante el día, lector de manga por las noches y este es mi blog. Vivo en Albacete y tengo un gato llamado Alex. Me encantan los mojitos (y mirar a la gente corriendo en los parques)
\n\nO algo así:\n\n
La empresa Calcetines XYC se fundó en 1973, y ha estado produciendo calcetines de calidad para sus clientes desde entonces. Se encuentra en Vetusta, tiene unos 2.000 empleados e intenta ayudar en lo que puede para mejorar la vida en Vestusta
\n\nDeberías ir a tu escritorio, borrar esta página y crear algunas nuevas con tu contenido. ¡A divertirse!', 'Página de ejemplo', '', 'trash', 'open', 'open', '', 'pagina-ejemplo', '', '', '2011-06-29 18:13:48', '2011-06-29 18:13:48', '', 0, 'http://localhost/originalhouse/?page_id=2', 0, 'page', '', 0), +(3, 1, '2011-06-28 17:06:34', '0000-00-00 00:00:00', '', 'Borrador automático', '', 'auto-draft', 'open', 'open', '', '', '', '', '2011-06-28 17:06:34', '0000-00-00 00:00:00', '', 0, 'http://localhost/originalhouse/?p=3', 0, 'post', '', 0), +(36, 1, '2011-06-29 14:57:15', '2011-06-29 14:57:15', '', '3 MUEBLES', '', 'inherit', 'open', 'open', '', '3-muebles', '', '', '2011-06-29 14:57:15', '2011-06-29 14:57:15', '', 32, 'http://localhost/originalhouse/wp-content/uploads/2011/06/3-muebles.jpg', 0, 'attachment', 'image/jpeg', 0), +(34, 1, '2011-06-29 14:57:13', '2011-06-29 14:57:13', '', '2', '', 'inherit', 'open', 'open', '', '2', '', '', '2011-06-29 14:57:13', '2011-06-29 14:57:13', '', 32, 'http://localhost/originalhouse/wp-content/uploads/2011/06/2-.jpg', 0, 'attachment', 'image/jpeg', 0), +(35, 1, '2011-06-29 14:57:14', '2011-06-29 14:57:14', '', '3 LA TIENDA', '', 'inherit', 'open', 'open', '', '3-la-tienda', '', '', '2011-06-29 14:57:14', '2011-06-29 14:57:14', '', 32, 'http://localhost/originalhouse/wp-content/uploads/2011/06/3-la-tienda.jpg', 0, 'attachment', 'image/jpeg', 0), +(33, 1, '2011-06-29 14:57:12', '2011-06-29 14:57:12', '', '1PORTADA', '', 'inherit', 'open', 'open', '', '1portada', '', '', '2011-06-29 14:57:12', '2011-06-29 14:57:12', '', 32, 'http://localhost/originalhouse/wp-content/uploads/2011/06/1portada.jpg', 0, 'attachment', 'image/jpeg', 0), +(32, 1, '2011-06-29 14:58:18', '2011-06-29 14:58:18', '', '1', '', 'publish', 'closed', 'closed', '', '1', '', '', '2011-06-29 14:58:18', '2011-06-29 14:58:18', '', 0, 'http://localhost/originalhouse/?post_type=slide&p=32', 0, 'slide', '', 0), +(31, 1, '2011-06-29 13:37:20', '2011-06-29 13:37:20', '', 'Logo Original House', '', 'inherit', 'open', 'open', '', 'logo', '', '', '2011-06-29 13:37:20', '2011-06-29 13:37:20', '', 23, 'http://localhost/originalhouse/wp-content/uploads/2011/06/logo.gif', 0, 'attachment', 'image/gif', 0), +(30, 1, '2011-06-29 12:39:26', '0000-00-00 00:00:00', '', 'Framework Woo Custom Login Logo', '', 'draft', 'closed', 'closed', '', 'woo-wf-framework_woo_custom_login_logo', '', '', '2011-06-29 12:39:26', '0000-00-00 00:00:00', '', 0, 'http://localhost/originalhouse/?post_type=wooframework&p=30', 0, 'wooframework', '', 0), +(29, 1, '2011-06-29 12:39:26', '0000-00-00 00:00:00', '', 'Framework Woo Backend Icon', '', 'draft', 'closed', 'closed', '', 'woo-wf-framework_woo_backend_icon', '', '', '2011-06-29 12:39:26', '0000-00-00 00:00:00', '', 0, 'http://localhost/originalhouse/?post_type=wooframework&p=29', 0, 'wooframework', '', 0), +(28, 1, '2011-06-29 12:39:26', '0000-00-00 00:00:00', '', 'Framework Woo Backend Header Image', '', 'draft', 'closed', 'closed', '', 'woo-wf-framework_woo_backend_header_image', '', '', '2011-06-29 12:39:26', '0000-00-00 00:00:00', '', 0, 'http://localhost/originalhouse/?post_type=wooframework&p=28', 0, 'wooframework', '', 0), +(27, 1, '2011-06-29 12:39:26', '0000-00-00 00:00:00', '', 'Framework Woo Default Image', '', 'draft', 'closed', 'closed', '', 'woo-wf-framework_woo_default_image', '', '', '2011-06-29 12:39:26', '0000-00-00 00:00:00', '', 0, 'http://localhost/originalhouse/?post_type=wooframework&p=27', 0, 'wooframework', '', 0), +(25, 1, '2011-06-29 11:42:59', '0000-00-00 00:00:00', '', 'Woo Body Img', '', 'draft', 'closed', 'closed', '', 'woo-wf-woo_body_img', '', '', '2011-06-29 11:42:59', '0000-00-00 00:00:00', '', 0, 'http://localhost/originalhouse/?post_type=wooframework&p=25', 0, 'wooframework', '', 0), +(26, 1, '2011-06-29 11:43:52', '2011-06-29 11:43:52', '', 'pattern', '', 'inherit', 'open', 'open', '', 'pattern', '', '', '2011-06-29 11:43:52', '2011-06-29 11:43:52', '', 25, 'http://localhost/originalhouse/wp-content/uploads/2011/06/pattern.jpg', 0, 'attachment', 'image/jpeg', 0), +(24, 1, '2011-06-29 11:42:59', '0000-00-00 00:00:00', '', 'Woo Custom Favicon', '', 'draft', 'closed', 'closed', '', 'woo-wf-woo_custom_favicon', '', '', '2011-06-29 11:42:59', '0000-00-00 00:00:00', '', 0, 'http://localhost/originalhouse/?post_type=wooframework&p=24', 0, 'wooframework', '', 0), +(23, 1, '2011-06-29 11:42:59', '0000-00-00 00:00:00', '', 'Woo Logo', '', 'draft', 'closed', 'closed', '', 'woo-wf-woo_logo', '', '', '2011-06-29 11:42:59', '0000-00-00 00:00:00', '', 0, 'http://localhost/originalhouse/?post_type=wooframework&p=23', 0, 'wooframework', '', 0), +(22, 1, '2011-06-28 17:15:03', '2011-06-28 17:15:03', '', 'ACRO 66ML 85x130x45 697€', '', 'publish', 'closed', 'open', '', 'acro-66ml-85x130x45-697e-2', '', '', '2011-06-28 17:15:08', '2011-06-28 17:15:08', '', 0, 'http://localhost/originalhouse/?catablog-items=acro-66ml-85x130x45-697e-2', 1, 'catablog-items', '', 0), +(21, 1, '2011-06-28 17:13:02', '2011-06-28 17:13:02', '', 'ACRO 30A 90x150x45 649€', '', 'publish', 'closed', 'open', '', 'acro-30a-90x150x45-649e', '', '', '2011-06-28 17:13:02', '2011-06-28 17:13:02', '', 0, 'http://localhost/originalhouse/?catablog-items=acro-30a-90x150x45-649e', 1, 'catablog-items', '', 0), +(20, 1, '2011-06-28 17:13:01', '2011-06-28 17:13:01', '', 'ACRO 66ML 85x130x45 697€', '', 'publish', 'closed', 'open', '', 'acro-66ml-85x130x45-697e', '', '', '2011-06-28 17:13:01', '2011-06-28 17:13:01', '', 0, 'http://localhost/originalhouse/?catablog-items=acro-66ml-85x130x45-697e', 1, 'catablog-items', '', 0), +(37, 1, '2011-06-29 14:57:16', '2011-06-29 14:57:16', '', '4 SERVICIOS', '', 'inherit', 'open', 'open', '', '4-servicios', '', '', '2011-06-29 14:57:16', '2011-06-29 14:57:16', '', 32, 'http://localhost/originalhouse/wp-content/uploads/2011/06/4-servicios.jpg', 0, 'attachment', 'image/jpeg', 0), +(38, 1, '2011-06-29 14:57:17', '2011-06-29 14:57:17', '', '5 IDEAS Y CONSEJOS', '', 'inherit', 'open', 'open', '', '5-ideas-y-consejos', '', '', '2011-06-29 14:57:17', '2011-06-29 14:57:17', '', 32, 'http://localhost/originalhouse/wp-content/uploads/2011/06/5-ideas-y-consejos.jpg', 0, 'attachment', 'image/jpeg', 0), +(39, 1, '2011-06-29 14:57:17', '2011-06-29 14:57:17', '', '7 PRODUCTOS', '', 'inherit', 'open', 'open', '', '7-productos', '', '', '2011-06-29 14:57:17', '2011-06-29 14:57:17', '', 32, 'http://localhost/originalhouse/wp-content/uploads/2011/06/7-productos.jpg', 0, 'attachment', 'image/jpeg', 0), +(40, 1, '2011-06-29 14:57:18', '2011-06-29 14:57:18', '', '8 MUEBLES', '', 'inherit', 'open', 'open', '', '8-muebles', '', '', '2011-06-29 14:57:18', '2011-06-29 14:57:18', '', 32, 'http://localhost/originalhouse/wp-content/uploads/2011/06/8-muebles.jpg', 0, 'attachment', 'image/jpeg', 0), +(41, 1, '2011-06-29 14:57:19', '2011-06-29 14:57:19', '', '9 MESAS', '', 'inherit', 'open', 'open', '', '9-mesas', '', '', '2011-06-29 14:57:19', '2011-06-29 14:57:19', '', 32, 'http://localhost/originalhouse/wp-content/uploads/2011/06/9-mesas.jpg', 0, 'attachment', 'image/jpeg', 0), +(42, 1, '2011-06-29 14:57:19', '2011-06-29 14:57:19', '', '10 MESAS COMEDOR', '', 'inherit', 'open', 'open', '', '10-mesas-comedor', '', '', '2011-06-29 14:57:19', '2011-06-29 14:57:19', '', 32, 'http://localhost/originalhouse/wp-content/uploads/2011/06/10-mesas-comedor.jpg', 0, 'attachment', 'image/jpeg', 0), +(43, 1, '2011-06-29 14:57:20', '2011-06-29 14:57:20', '', '11 MESAS DE CENTRO 001', '', 'inherit', 'open', 'open', '', '11-mesas-de-centro-001', '', '', '2011-06-29 14:57:20', '2011-06-29 14:57:20', '', 32, 'http://localhost/originalhouse/wp-content/uploads/2011/06/11-mesas-de-centro-001.jpg', 0, 'attachment', 'image/jpeg', 0), +(44, 1, '2011-06-29 15:49:39', '2011-06-29 15:49:39', '', 'Inicio', '', 'publish', 'open', 'open', '', 'inicio', '', '', '2011-06-29 16:34:05', '2011-06-29 16:34:05', '', 0, 'http://localhost/originalhouse/?page_id=44', 0, 'page', '', 0), +(45, 1, '2011-06-29 15:49:14', '2011-06-29 15:49:14', '', 'fondo-inicio', '', 'inherit', 'open', 'open', '', 'fondo-inicio', '', '', '2011-06-29 15:49:14', '2011-06-29 15:49:14', '', 44, 'http://localhost/originalhouse/wp-content/uploads/2011/06/fondo-inicio.jpg', 0, 'attachment', 'image/jpeg', 0), +(46, 1, '2011-06-29 15:47:40', '2011-06-29 15:47:40', '', 'Inicio', '', 'inherit', 'open', 'open', '', '44-revision', '', '', '2011-06-29 15:47:40', '2011-06-29 15:47:40', '', 44, 'http://localhost/originalhouse/?p=46', 0, 'revision', '', 0), +(47, 1, '2011-06-29 15:49:39', '2011-06-29 15:49:39', '', 'Inicio', '', 'inherit', 'open', 'open', '', '44-revision-2', '', '', '2011-06-29 15:49:39', '2011-06-29 15:49:39', '', 44, 'http://localhost/originalhouse/?p=47', 0, 'revision', '', 0), +(48, 1, '2011-06-29 16:10:17', '2011-06-29 16:10:17', '', 'Inicio', '', 'inherit', 'open', 'open', '', '44-revision-3', '', '', '2011-06-29 16:10:17', '2011-06-29 16:10:17', '', 44, 'http://localhost/originalhouse/?p=48', 0, 'revision', '', 0), +(49, 1, '2011-06-29 16:14:08', '2011-06-29 16:14:08', '', 'Inicio', '', 'inherit', 'open', 'open', '', '44-revision-4', '', '', '2011-06-29 16:14:08', '2011-06-29 16:14:08', '', 44, 'http://localhost/originalhouse/?p=49', 0, 'revision', '', 0), +(50, 1, '2011-06-29 16:14:23', '2011-06-29 16:14:23', '', 'Inicio', '', 'inherit', 'open', 'open', '', '44-revision-5', '', '', '2011-06-29 16:14:23', '2011-06-29 16:14:23', '', 44, 'http://localhost/originalhouse/?p=50', 0, 'revision', '', 0), +(51, 1, '2011-06-29 16:14:35', '2011-06-29 16:14:35', '', 'Inicio', '', 'inherit', 'open', 'open', '', '44-revision-6', '', '', '2011-06-29 16:14:35', '2011-06-29 16:14:35', '', 44, 'http://localhost/originalhouse/?p=51', 0, 'revision', '', 0), +(52, 1, '2011-06-29 16:14:53', '2011-06-29 16:14:53', '', 'Inicio', '', 'inherit', 'open', 'open', '', '44-revision-7', '', '', '2011-06-29 16:14:53', '2011-06-29 16:14:53', '', 44, 'http://localhost/originalhouse/?p=52', 0, 'revision', '', 0), +(53, 1, '2011-06-29 16:15:46', '2011-06-29 16:15:46', '', 'Inicio', '', 'inherit', 'open', 'open', '', '44-revision-8', '', '', '2011-06-29 16:15:46', '2011-06-29 16:15:46', '', 44, 'http://localhost/originalhouse/?p=53', 0, 'revision', '', 0), +(54, 1, '2011-06-29 16:15:57', '2011-06-29 16:15:57', '', 'Inicio', '', 'inherit', 'open', 'open', '', '44-revision-9', '', '', '2011-06-29 16:15:57', '2011-06-29 16:15:57', '', 44, 'http://localhost/originalhouse/?p=54', 0, 'revision', '', 0), +(55, 1, '2011-06-29 16:16:16', '2011-06-29 16:16:16', '', 'Inicio', '', 'inherit', 'open', 'open', '', '44-revision-10', '', '', '2011-06-29 16:16:16', '2011-06-29 16:16:16', '', 44, 'http://localhost/originalhouse/?p=55', 0, 'revision', '', 0), +(56, 1, '2011-06-29 16:33:10', '2011-06-29 16:33:10', '', 'Inicio', '', 'inherit', 'open', 'open', '', '44-revision-11', '', '', '2011-06-29 16:33:10', '2011-06-29 16:33:10', '', 44, 'http://localhost/originalhouse/?p=56', 0, 'revision', '', 0), +(57, 1, '2011-06-29 16:33:42', '2011-06-29 16:33:42', 'dsadsadas', 'dsadsa', '', 'trash', 'open', 'open', '', 'dsadsa', '', '', '2011-06-29 18:13:48', '2011-06-29 18:13:48', '', 0, 'http://localhost/originalhouse/?page_id=57', 0, 'page', '', 0), +(58, 1, '2011-06-29 16:33:40', '2011-06-29 16:33:40', '', 'dsadsa', '', 'inherit', 'open', 'open', '', '57-revision', '', '', '2011-06-29 16:33:40', '2011-06-29 16:33:40', '', 57, 'http://localhost/originalhouse/?p=58', 0, 'revision', '', 0), +(59, 1, '2011-06-29 16:33:35', '2011-06-29 16:33:35', '', 'Inicio', '', 'inherit', 'open', 'open', '', '44-revision-12', '', '', '2011-06-29 16:33:35', '2011-06-29 16:33:35', '', 44, 'http://localhost/originalhouse/?p=59', 0, 'revision', '', 0), +(60, 1, '2011-06-29 17:13:45', '2011-06-29 17:13:45', ' ', '', '', 'publish', 'open', 'open', '', '60', '', '', '2011-06-29 19:59:13', '2011-06-29 19:59:13', '', 0, 'http://localhost/originalhouse/?p=60', 1, 'nav_menu_item', '', 0), +(61, 1, '2011-06-29 17:17:15', '2011-06-29 17:17:15', '

ORIGINAL HOUSE se creo en el año 2003 como alternativa a las grandes superficies y a una demanda en crecimiento de un estilo en decoración más personal.

\r\n

Consideramos que nuestros artículos tienen que estar a la altura del cliente más exigente, por eso huimos de la venta fría por Internet y preferimos tener un contacto más personalizado con vosotros. No dudéis en poneros en contacto para cualquier consulta.

\r\n

Por la gran rotación y exclusividad de nuestros articulos puede que de alguno de ellos no queden existencias.

\r\n

Hemos hecho de esta tienda un pequeño mapamundi en el que podrás encontrar referencias a casi todos los rincones del sudeste asiático y a las últimas tendencias de occidente.

\r\n

Luz tenue, música relajante y una intensa mezcla de aromas es lo primero que percibes al entrar a

\r\n

 

\r\n\r\n

BIENVENIDOS

\r\n ', 'La Tienda', '', 'publish', 'open', 'open', '', 'acerca-de', '', '', '2011-06-29 20:08:37', '2011-06-29 20:08:37', '', 0, 'http://localhost/originalhouse/?page_id=61', 0, 'page', '', 0), +(62, 1, '2011-06-29 17:17:03', '2011-06-29 17:17:04', '', 'fondo-la-tienda', '', 'inherit', 'open', 'open', '', 'fondo-la-tienda', '', '', '2011-06-29 17:17:03', '2011-06-29 17:17:04', '', 0, 'http://localhost/originalhouse/wp-content/uploads/2011/06/fondo-la-tienda.jpg', 0, 'attachment', 'image/jpeg', 0), +(63, 1, '2011-06-29 17:17:04', '2011-06-29 17:17:04', '', 'fondo-localizanos', '', 'inherit', 'open', 'open', '', 'fondo-localizanos', '', '', '2011-06-29 17:17:04', '2011-06-29 17:17:04', '', 0, 'http://localhost/originalhouse/wp-content/uploads/2011/06/fondo-localizanos.jpg', 0, 'attachment', 'image/jpeg', 0), +(64, 1, '2011-06-29 17:17:05', '2011-06-29 17:17:05', '', 'fondo-servicios', '', 'inherit', 'open', 'open', '', 'fondo-servicios', '', '', '2011-06-29 17:17:05', '2011-06-29 17:17:05', '', 0, 'http://localhost/originalhouse/wp-content/uploads/2011/06/fondo-servicios.jpg', 0, 'attachment', 'image/jpeg', 0), +(65, 1, '2011-06-29 17:15:34', '2011-06-29 17:15:34', 'LA TIENDA\n
· ORIGINAL HOUSE SE CREO EN EL AÑO 2003 COMO ALTERNATIVA A LAS GRANDES SUPERFICIES Y A UNA DEMANDA EN CRECIMIENTO DE UN ESTILO EN DECORACION MAS PERSONAL.\n\n· CONSIDERAMOS QUE NUESTROS ARTICULOS TIENEN QUE ESTAR A LA ALTURA DEL CLIENTE MAS EXIGENTE, POR ESO HUIMOS DE LA VENTA FRIA POR INTERNET Y PREFERIMOS TENER UN CONTACTO MAS PERSONALIZADO CON VOSOTROS. NO DUDEIS EN PONEROS EN CONTACTO PARA CUALQUIER CONSULTA.\n\n· POR LA GRAN ROTACION Y EXCLUSIVIDAD DE NUESTROS ARTICULOS PUEDE QUE DE ALGUNO DE ELLOS NO QUEDEN EXISTENCIAS.\n\n· HEMOS HECHO DE ESTA TIENDA UN PEQUEÑO MAPAMUNDI EN EL QUE PODRAS ENCONTRAR REFERENCIAS A CASI TODOS LOS RINCONES DEL SUDESTE ASIATICO  Y A LAS ULTIMAS TENDENCIAS DE OCCIDENTE.\n\n· LUZ TENUE, MUSICA RELAJANTE Y UNA INTENSA MEZCLA DE AROMAS ES LO PRIMERO QUE PERCIBES AL ENTRAR A
\nORIGINAL HOUSE\n\nBIENVENIDOS\n\n ', 'Acerca de', '', 'inherit', 'open', 'open', '', '61-revision', '', '', '2011-06-29 17:15:34', '2011-06-29 17:15:34', '', 61, 'http://localhost/originalhouse/?p=65', 0, 'revision', '', 0), +(66, 1, '2011-06-29 17:17:15', '2011-06-29 17:17:15', 'LA TIENDA\r\n
· ORIGINAL HOUSE SE CREO EN EL AÑO 2003 COMO ALTERNATIVA A LAS GRANDES SUPERFICIES Y A UNA DEMANDA EN CRECIMIENTO DE UN ESTILO EN DECORACION MAS PERSONAL.\r\n\r\n· CONSIDERAMOS QUE NUESTROS ARTICULOS TIENEN QUE ESTAR A LA ALTURA DEL CLIENTE MAS EXIGENTE, POR ESO HUIMOS DE LA VENTA FRIA POR INTERNET Y PREFERIMOS TENER UN CONTACTO MAS PERSONALIZADO CON VOSOTROS. NO DUDEIS EN PONEROS EN CONTACTO PARA CUALQUIER CONSULTA.\r\n\r\n· POR LA GRAN ROTACION Y EXCLUSIVIDAD DE NUESTROS ARTICULOS PUEDE QUE DE ALGUNO DE ELLOS NO QUEDEN EXISTENCIAS.\r\n\r\n· HEMOS HECHO DE ESTA TIENDA UN PEQUEÑO MAPAMUNDI EN EL QUE PODRAS ENCONTRAR REFERENCIAS A CASI TODOS LOS RINCONES DEL SUDESTE ASIATICO  Y A LAS ULTIMAS TENDENCIAS DE OCCIDENTE.\r\n\r\n· LUZ TENUE, MUSICA RELAJANTE Y UNA INTENSA MEZCLA DE AROMAS ES LO PRIMERO QUE PERCIBES AL ENTRAR A
\r\nORIGINAL HOUSE\r\n\r\nBIENVENIDOS\r\n\r\n ', 'Acerca de', '', 'inherit', 'open', 'open', '', '61-revision-2', '', '', '2011-06-29 17:17:15', '2011-06-29 17:17:15', '', 61, 'http://localhost/originalhouse/?p=66', 0, 'revision', '', 0), +(67, 1, '2011-06-29 17:17:27', '2011-06-29 17:17:27', ' \r\n
· ORIGINAL HOUSE SE CREO EN EL AÑO 2003 COMO ALTERNATIVA A LAS GRANDES SUPERFICIES Y A UNA DEMANDA EN CRECIMIENTO DE UN ESTILO EN DECORACION MAS PERSONAL.\r\n\r\n· CONSIDERAMOS QUE NUESTROS ARTICULOS TIENEN QUE ESTAR A LA ALTURA DEL CLIENTE MAS EXIGENTE, POR ESO HUIMOS DE LA VENTA FRIA POR INTERNET Y PREFERIMOS TENER UN CONTACTO MAS PERSONALIZADO CON VOSOTROS. NO DUDEIS EN PONEROS EN CONTACTO PARA CUALQUIER CONSULTA.\r\n\r\n· POR LA GRAN ROTACION Y EXCLUSIVIDAD DE NUESTROS ARTICULOS PUEDE QUE DE ALGUNO DE ELLOS NO QUEDEN EXISTENCIAS.\r\n\r\n· HEMOS HECHO DE ESTA TIENDA UN PEQUEÑO MAPAMUNDI EN EL QUE PODRAS ENCONTRAR REFERENCIAS A CASI TODOS LOS RINCONES DEL SUDESTE ASIATICO  Y A LAS ULTIMAS TENDENCIAS DE OCCIDENTE.\r\n\r\n· LUZ TENUE, MUSICA RELAJANTE Y UNA INTENSA MEZCLA DE AROMAS ES LO PRIMERO QUE PERCIBES AL ENTRAR A
\r\nORIGINAL HOUSE\r\n\r\nBIENVENIDOS\r\n\r\n ', 'La Tienda', '', 'inherit', 'open', 'open', '', '61-revision-3', '', '', '2011-06-29 17:17:27', '2011-06-29 17:17:27', '', 61, 'http://localhost/originalhouse/?p=67', 0, 'revision', '', 0), +(68, 1, '2011-06-29 17:18:13', '2011-06-29 17:18:13', '
\r\n· ORIGINAL HOUSE SE CREO EN EL AÑO 2003 COMO ALTERNATIVA A LAS GRANDES SUPERFICIES Y A UNA DEMANDA EN CRECIMIENTO DE UN ESTILO EN DECORACION MAS PERSONAL.\r\n\r\n· CONSIDERAMOS QUE NUESTROS ARTICULOS TIENEN QUE ESTAR A LA ALTURA DEL CLIENTE MAS EXIGENTE, POR ESO HUIMOS DE LA VENTA FRIA POR INTERNET Y PREFERIMOS TENER UN CONTACTO MAS PERSONALIZADO CON VOSOTROS. NO DUDEIS EN PONEROS EN CONTACTO PARA CUALQUIER CONSULTA.\r\n\r\n· POR LA GRAN ROTACION Y EXCLUSIVIDAD DE NUESTROS ARTICULOS PUEDE QUE DE ALGUNO DE ELLOS NO QUEDEN EXISTENCIAS.\r\n\r\n· HEMOS HECHO DE ESTA TIENDA UN PEQUEÑO MAPAMUNDI EN EL QUE PODRAS ENCONTRAR REFERENCIAS A CASI TODOS LOS RINCONES DEL SUDESTE ASIATICO  Y A LAS ULTIMAS TENDENCIAS DE OCCIDENTE.\r\n\r\n· LUZ TENUE, MUSICA RELAJANTE Y UNA INTENSA MEZCLA DE AROMAS ES LO PRIMERO QUE PERCIBES AL ENTRAR A
\r\n\r\n

BIENVENIDOS

\r\n ', 'La Tienda', '', 'inherit', 'open', 'open', '', '61-revision-4', '', '', '2011-06-29 17:18:13', '2011-06-29 17:18:13', '', 61, 'http://localhost/originalhouse/?p=68', 0, 'revision', '', 0), +(69, 1, '2011-06-29 17:19:01', '2011-06-29 17:19:01', '· ORIGINAL HOUSE SE CREO EN EL AÑO 2003 COMO ALTERNATIVA A LAS GRANDES SUPERFICIES Y A UNA DEMANDA EN CRECIMIENTO DE UN ESTILO EN DECORACION MAS PERSONAL.\r\n\r\n· CONSIDERAMOS QUE NUESTROS ARTICULOS TIENEN QUE ESTAR A LA ALTURA DEL CLIENTE MAS EXIGENTE, POR ESO HUIMOS DE LA VENTA FRIA POR INTERNET Y PREFERIMOS TENER UN CONTACTO MAS PERSONALIZADO CON VOSOTROS. NO DUDEIS EN PONEROS EN CONTACTO PARA CUALQUIER CONSULTA.\r\n\r\n· POR LA GRAN ROTACION Y EXCLUSIVIDAD DE NUESTROS ARTICULOS PUEDE QUE DE ALGUNO DE ELLOS NO QUEDEN EXISTENCIAS.\r\n\r\n· HEMOS HECHO DE ESTA TIENDA UN PEQUEÑO MAPAMUNDI EN EL QUE PODRAS ENCONTRAR REFERENCIAS A CASI TODOS LOS RINCONES DEL SUDESTE ASIATICO  Y A LAS ULTIMAS TENDENCIAS DE OCCIDENTE.\r\n\r\n· LUZ TENUE, MUSICA RELAJANTE Y UNA INTENSA MEZCLA DE AROMAS ES LO PRIMERO QUE PERCIBES AL ENTRAR A\r\n\r\nBIENVENIDOS\r\n ', '', '', 'publish', 'open', 'open', '', '69', '', '', '2011-06-29 19:59:13', '2011-06-29 19:59:13', '', 0, 'http://localhost/originalhouse/?p=69', 2, 'nav_menu_item', '', 0), +(70, 1, '2011-06-29 20:09:39', '2011-06-29 20:09:39', '

ORIGINAL HOUSE se creo en el año 2003 como alternativa a las grandes superficies y a una demanda en crecimiento de un estilo en decoración más personal.

\n

Consideramos que nuestros artículos tienen que estar a la altura del cliente más exigente, por eso huimos de la venta fría por Internet y preferimos tener un contacto más personalizado con vosotros. No dudéis en poneros en contacto para cualquier consulta.

\n

Por la gran rotación y exclusividad de nuestros articulos puede que de alguno de ellos no queden existencias.

\n

Hemos hecho de esta tienda un pequeño mapamundi en el que podrás encontrar referencias a casi todos los rincones del sudeste asiático y a las últimas tendencias de occidente.

\n

Luz tenue, música relajante y una intensa mezcla de aromas es lo primero que percibes al entrar a

\n

 

\n\n

BIENVENIDOS

\n ', 'La Tienda', '', 'inherit', 'open', 'open', '', '61-autosave', '', '', '2011-06-29 20:09:39', '2011-06-29 20:09:39', '', 61, 'http://localhost/originalhouse/?p=70', 0, 'revision', '', 0), +(71, 1, '2011-06-29 16:33:42', '2011-06-29 16:33:42', 'dsadsadas', 'dsadsa', '', 'inherit', 'open', 'open', '', '57-revision-2', '', '', '2011-06-29 16:33:42', '2011-06-29 16:33:42', '', 57, 'http://localhost/originalhouse/?p=71', 0, 'revision', '', 0), +(72, 1, '2011-06-28 15:12:45', '2011-06-28 15:12:45', 'Esta es una página de ejemplo, Es diferente a una entrada de un blog porque se mantiene estática y, en la mayoría de temas, se mostrará en la barra de navegación. Casi todo el mundo comienza con una página Sobre mí para presentarse a los potenciales visitantes. Puede decir algo así:\n\n
¡Hola!: Soy físico durante el día, lector de manga por las noches y este es mi blog. Vivo en Albacete y tengo un gato llamado Alex. Me encantan los mojitos (y mirar a la gente corriendo en los parques)
\n\nO algo así:\n\n
La empresa Calcetines XYC se fundó en 1973, y ha estado produciendo calcetines de calidad para sus clientes desde entonces. Se encuentra en Vetusta, tiene unos 2.000 empleados e intenta ayudar en lo que puede para mejorar la vida en Vestusta
\n\nDeberías ir a tu escritorio, borrar esta página y crear algunas nuevas con tu contenido. ¡A divertirse!', 'Página de ejemplo', '', 'inherit', 'open', 'open', '', '2-revision', '', '', '2011-06-28 15:12:45', '2011-06-28 15:12:45', '', 2, 'http://localhost/originalhouse/?p=72', 0, 'revision', '', 0), +(73, 1, '2011-06-29 18:13:53', '0000-00-00 00:00:00', '', 'Borrador automático', '', 'auto-draft', 'open', 'open', '', '', '', '', '2011-06-29 18:13:53', '0000-00-00 00:00:00', '', 0, 'http://localhost/originalhouse/?page_id=73', 0, 'page', '', 0), +(74, 1, '2011-06-29 17:18:28', '2011-06-29 17:18:28', '
· ORIGINAL HOUSE SE CREO EN EL AÑO 2003 COMO ALTERNATIVA A LAS GRANDES SUPERFICIES Y A UNA DEMANDA EN CRECIMIENTO DE UN ESTILO EN DECORACION MAS PERSONAL.\r\n\r\n· CONSIDERAMOS QUE NUESTROS ARTICULOS TIENEN QUE ESTAR A LA ALTURA DEL CLIENTE MAS EXIGENTE, POR ESO HUIMOS DE LA VENTA FRIA POR INTERNET Y PREFERIMOS TENER UN CONTACTO MAS PERSONALIZADO CON VOSOTROS. NO DUDEIS EN PONEROS EN CONTACTO PARA CUALQUIER CONSULTA.\r\n\r\n· POR LA GRAN ROTACION Y EXCLUSIVIDAD DE NUESTROS ARTICULOS PUEDE QUE DE ALGUNO DE ELLOS NO QUEDEN EXISTENCIAS.\r\n\r\n· HEMOS HECHO DE ESTA TIENDA UN PEQUEÑO MAPAMUNDI EN EL QUE PODRAS ENCONTRAR REFERENCIAS A CASI TODOS LOS RINCONES DEL SUDESTE ASIATICO  Y A LAS ULTIMAS TENDENCIAS DE OCCIDENTE.\r\n\r\n· LUZ TENUE, MUSICA RELAJANTE Y UNA INTENSA MEZCLA DE AROMAS ES LO PRIMERO QUE PERCIBES AL ENTRAR A
\r\n\r\n

BIENVENIDOS

\r\n ', 'La Tienda', '', 'inherit', 'open', 'open', '', '61-revision-5', '', '', '2011-06-29 17:18:28', '2011-06-29 17:18:28', '', 61, 'http://localhost/originalhouse/?p=74', 0, 'revision', '', 0), +(75, 1, '2011-06-29 18:58:49', '2011-06-29 18:58:49', 'ORIGINAL HOUSE se creo en el año 2003 como alternativa a las grandes superficies y a una demanda en crecimiento de un estilo en decoración más personal.\r\nConsideramos que nuestros artículos tienen que estar a la altura del cliente más exigente, por eso huimos de la venta fría por Internet y preferimos tener un contacto más personalizado con vosotros. No dudéis en poneros en contacto para cualquier consulta.\r\nPor la gran rotación y exclusividad de nuestros articulos puede que de alguno de ellos no queden existencias.\r\nHemos hecho de esta tienda un pequeño mapamundi en el que podrás encontrar referencias a casi todos los rincones del sudeste asiático y a las últimas tendencias de occidente.\r\nLuz tenue, música relajante y una intensa mezcla de aromas es lo primero que percibes al entrar a\r\n \r\n\r\nBIENVENIDOS\r\n ', '', '', 'publish', 'open', 'open', '', '75', '', '', '2011-06-29 19:32:24', '2011-06-29 19:32:24', '', 0, 'http://localhost/originalhouse/?p=75', 2, 'nav_menu_item', '', 0), +(76, 1, '2011-06-29 18:58:49', '2011-06-29 18:58:49', ' ', 'Catálogo', '', 'publish', 'open', 'open', '', '76', '', '', '2011-06-29 19:32:24', '2011-06-29 19:32:24', '', 0, 'http://localhost/originalhouse/?p=76', 1, 'nav_menu_item', '', 0), +(77, 1, '2011-06-29 18:59:31', '2011-06-29 18:59:31', 'ORIGINAL HOUSE se creo en el año 2003 como alternativa a las grandes superficies y a una demanda en crecimiento de un estilo en decoración más personal.\r\nConsideramos que nuestros artículos tienen que estar a la altura del cliente más exigente, por eso huimos de la venta fría por Internet y preferimos tener un contacto más personalizado con vosotros. No dudéis en poneros en contacto para cualquier consulta.\r\nPor la gran rotación y exclusividad de nuestros articulos puede que de alguno de ellos no queden existencias.\r\nHemos hecho de esta tienda un pequeño mapamundi en el que podrás encontrar referencias a casi todos los rincones del sudeste asiático y a las últimas tendencias de occidente.\r\nLuz tenue, música relajante y una intensa mezcla de aromas es lo primero que percibes al entrar a\r\n \r\n\r\nBIENVENIDOS\r\n ', '', '', 'publish', 'open', 'open', '', '77', '', '', '2011-06-29 19:32:25', '2011-06-29 19:32:25', '', 0, 'http://localhost/originalhouse/?p=77', 3, 'nav_menu_item', '', 0), +(78, 1, '2011-06-29 18:59:31', '2011-06-29 18:59:31', 'ORIGINAL HOUSE se creo en el año 2003 como alternativa a las grandes superficies y a una demanda en crecimiento de un estilo en decoración más personal.\r\nConsideramos que nuestros artículos tienen que estar a la altura del cliente más exigente, por eso huimos de la venta fría por Internet y preferimos tener un contacto más personalizado con vosotros. No dudéis en poneros en contacto para cualquier consulta.\r\nPor la gran rotación y exclusividad de nuestros articulos puede que de alguno de ellos no queden existencias.\r\nHemos hecho de esta tienda un pequeño mapamundi en el que podrás encontrar referencias a casi todos los rincones del sudeste asiático y a las últimas tendencias de occidente.\r\nLuz tenue, música relajante y una intensa mezcla de aromas es lo primero que percibes al entrar a\r\n \r\n\r\nBIENVENIDOS\r\n ', '', '', 'publish', 'open', 'open', '', '78', '', '', '2011-06-29 19:32:25', '2011-06-29 19:32:25', '', 0, 'http://localhost/originalhouse/?p=78', 4, 'nav_menu_item', '', 0), +(79, 1, '2011-06-29 18:59:31', '2011-06-29 18:59:31', 'ORIGINAL HOUSE se creo en el año 2003 como alternativa a las grandes superficies y a una demanda en crecimiento de un estilo en decoración más personal.\r\nConsideramos que nuestros artículos tienen que estar a la altura del cliente más exigente, por eso huimos de la venta fría por Internet y preferimos tener un contacto más personalizado con vosotros. No dudéis en poneros en contacto para cualquier consulta.\r\nPor la gran rotación y exclusividad de nuestros articulos puede que de alguno de ellos no queden existencias.\r\nHemos hecho de esta tienda un pequeño mapamundi en el que podrás encontrar referencias a casi todos los rincones del sudeste asiático y a las últimas tendencias de occidente.\r\nLuz tenue, música relajante y una intensa mezcla de aromas es lo primero que percibes al entrar a\r\n \r\n\r\nBIENVENIDOS\r\n ', '', '', 'publish', 'open', 'open', '', '79', '', '', '2011-06-29 19:32:25', '2011-06-29 19:32:25', '', 0, 'http://localhost/originalhouse/?p=79', 5, 'nav_menu_item', '', 0), +(80, 1, '2011-06-29 18:59:31', '2011-06-29 18:59:31', 'ORIGINAL HOUSE se creo en el año 2003 como alternativa a las grandes superficies y a una demanda en crecimiento de un estilo en decoración más personal.\r\nConsideramos que nuestros artículos tienen que estar a la altura del cliente más exigente, por eso huimos de la venta fría por Internet y preferimos tener un contacto más personalizado con vosotros. No dudéis en poneros en contacto para cualquier consulta.\r\nPor la gran rotación y exclusividad de nuestros articulos puede que de alguno de ellos no queden existencias.\r\nHemos hecho de esta tienda un pequeño mapamundi en el que podrás encontrar referencias a casi todos los rincones del sudeste asiático y a las últimas tendencias de occidente.\r\nLuz tenue, música relajante y una intensa mezcla de aromas es lo primero que percibes al entrar a\r\n \r\n\r\nBIENVENIDOS\r\n ', '', '', 'publish', 'open', 'open', '', '80', '', '', '2011-06-29 19:32:25', '2011-06-29 19:32:25', '', 0, 'http://localhost/originalhouse/?p=80', 6, 'nav_menu_item', '', 0), +(81, 1, '2011-06-29 18:59:31', '2011-06-29 18:59:31', ' ', '', '', 'publish', 'open', 'open', '', '81', '', '', '2011-06-29 19:32:25', '2011-06-29 19:32:25', '', 0, 'http://localhost/originalhouse/?p=81', 7, 'nav_menu_item', '', 0), +(82, 1, '2011-06-29 19:55:26', '2011-06-29 19:55:26', '', 'Servicios', '', 'publish', 'closed', 'open', '', 'servicios', '', '', '2011-06-29 19:55:41', '2011-06-29 19:55:41', '', 0, 'http://localhost/originalhouse/?page_id=82', 0, 'page', '', 0), +(83, 1, '2011-06-29 19:55:22', '2011-06-29 19:55:22', 'ATENCIÓN PERSONALIZADA A INTERIORISTAS Y ARQUITECTOS.\nREFORMA DE INTERIORES.\nTRANSPORTE GRATUITO DE MOBILIARIO EN MADRID CAPITAL.\nESTUDIOS DE INTERIORISMO AL REALIZAR TU COMPRA EN ORIGINAL HOUSE.\nROTACIÓN CONSTANTE DE ARTÍCULOS.\nFINANCIACIÓN A 6 MESES SIN INTERESES.\nESTAMOS DETRAS DE MUCHAS SERIES DE TELEVISION Y PUBLICIDAD, OFRECIENDO NUESTROS ARTICULOS PARA ALQUILER.', 'Servicios', '', 'inherit', 'closed', 'open', '', '82-revision', '', '', '2011-06-29 19:55:22', '2011-06-29 19:55:22', '', 82, 'http://localhost/originalhouse/?p=83', 0, 'revision', '', 0), +(84, 1, '2011-06-29 19:55:26', '2011-06-29 19:55:26', '', 'Servicios', '', 'inherit', 'closed', 'open', '', '82-revision-2', '', '', '2011-06-29 19:55:26', '2011-06-29 19:55:26', '', 82, 'http://localhost/originalhouse/?p=84', 0, 'revision', '', 0), +(85, 1, '2011-06-29 19:56:01', '2011-06-29 19:56:01', ' ATENCIÓN PERSONALIZADA A INTERIORISTAS Y ARQUITECTOS.\r\n REFORMA DE INTERIORES.\r\n TRANSPORTE GRATUITO DE MOBILIARIO EN MADRID CAPITAL.\r\n ESTUDIOS DE INTERIORISMO AL REALIZAR TU COMPRA EN ORIGINAL HOUSE.\r\n ROTACIÓN CONSTANTE DE ARTÍCULOS.\r\n FINANCIACIÓN A 6 MESES SIN INTERESES.\r\n ESTAMOS DETRAS DE MUCHAS SERIES DE TELEVISION Y PUBLICIDAD, OFRECIENDO NUESTROS ARTICULOS PARA ALQUILER.\r\n', '', '', 'publish', 'closed', 'open', '', '85', '', '', '2011-06-29 19:59:13', '2011-06-29 19:59:13', '', 0, 'http://localhost/originalhouse/?p=85', 3, 'nav_menu_item', '', 0), +(86, 1, '2011-06-29 19:56:42', '2011-06-29 19:56:42', '', 'Servicios', '', 'inherit', 'closed', 'open', '', '82-autosave', '', '', '2011-06-29 19:56:42', '2011-06-29 19:56:42', '', 82, 'http://localhost/originalhouse/?p=86', 0, 'revision', '', 0), +(87, 1, '2011-06-29 18:23:03', '2011-06-29 18:23:03', '

ORIGINAL HOUSE se creo en el año 2003 como alternativa a las grandes superficies y a una demanda en crecimiento de un estilo en decoración más personal.

\r\n

Consideramos que nuestros artículos tienen que estar a la altura del cliente más exigente, por eso huimos de la venta fría por Internet y preferimos tener un contacto más personalizado con vosotros. No dudéis en poneros en contacto para cualquier consulta.

\r\n

Por la gran rotación y exclusividad de nuestros articulos puede que de alguno de ellos no queden existencias.

\r\n

Hemos hecho de esta tienda un pequeño mapamundi en el que podrás encontrar referencias a casi todos los rincones del sudeste asiático y a las últimas tendencias de occidente.

\r\n

Luz tenue, música relajante y una intensa mezcla de aromas es lo primero que percibes al entrar a

\r\n

 

\r\n\r\n

BIENVENIDOS

\r\n ', 'La Tienda', '', 'inherit', 'closed', 'open', '', '61-revision-6', '', '', '2011-06-29 18:23:03', '2011-06-29 18:23:03', '', 61, 'http://localhost/originalhouse/?p=87', 0, 'revision', '', 0), +(88, 1, '2011-06-29 19:58:52', '2011-06-29 19:58:52', 'C/ RODRIGUEZ SAN PEDRO, 40\r\n\r\n28015-MADRID\r\n\r\nMETRO:ARGUELLES\r\n\r\nBUS: 2, 16, 21, 61, 202\r\n\r\nPARKING FRENTE A LA TIENDA\r\n\r\nTFNO: 91 543 30 96\r\n\r\nEMAIL: originalhouse@originalhouse.info\r\n\r\n \r\n\r\n \r\n\r\n ', 'Localízanos', '', 'publish', 'closed', 'open', '', 'localizanos', '', '', '2011-06-29 20:00:14', '2011-06-29 20:00:14', '', 0, 'http://localhost/originalhouse/?page_id=88', 0, 'page', '', 0), +(89, 1, '2011-06-29 19:58:34', '2011-06-29 19:58:34', '', 'Localízanos', '', 'inherit', 'closed', 'open', '', '88-revision', '', '', '2011-06-29 19:58:34', '2011-06-29 19:58:34', '', 88, 'http://localhost/originalhouse/?p=89', 0, 'revision', '', 0), +(90, 1, '2011-06-29 19:59:13', '2011-06-29 19:59:13', ' ', '', '', 'publish', 'closed', 'open', '', '90', '', '', '2011-06-29 19:59:13', '2011-06-29 19:59:13', '', 0, 'http://localhost/originalhouse/?p=90', 4, 'nav_menu_item', '', 0), +(91, 1, '2011-06-29 20:01:16', '2011-06-29 20:01:16', 'C/ RODRIGUEZ SAN PEDRO, 40\n\n28015-MADRID\n\nMETRO:ARGUELLES\n\nBUS: 2, 16, 21, 61, 202\n\nPARKING FRENTE A LA TIENDA\n\nTFNO: 91 543 30 96\n\nEMAIL: originalhouse@originalhouse.info\n\n \n\n \n\n ', 'Localízanos', '', 'inherit', 'closed', 'open', '', '88-autosave', '', '', '2011-06-29 20:01:16', '2011-06-29 20:01:16', '', 88, 'http://localhost/originalhouse/?p=91', 0, 'revision', '', 0), +(92, 1, '2011-06-29 19:58:52', '2011-06-29 19:58:52', '', 'Localízanos', '', 'inherit', 'closed', 'open', '', '88-revision-2', '', '', '2011-06-29 19:58:52', '2011-06-29 19:58:52', '', 88, 'http://localhost/originalhouse/?p=92', 0, 'revision', '', 0), +(93, 1, '2011-06-29 19:57:09', '2011-06-29 19:57:09', '

ORIGINAL HOUSE se creo en el año 2003 como alternativa a las grandes superficies y a una demanda en crecimiento de un estilo en decoración más personal.

\r\n

Consideramos que nuestros artículos tienen que estar a la altura del cliente más exigente, por eso huimos de la venta fría por Internet y preferimos tener un contacto más personalizado con vosotros. No dudéis en poneros en contacto para cualquier consulta.

\r\n

Por la gran rotación y exclusividad de nuestros articulos puede que de alguno de ellos no queden existencias.

\r\n

Hemos hecho de esta tienda un pequeño mapamundi en el que podrás encontrar referencias a casi todos los rincones del sudeste asiático y a las últimas tendencias de occidente.

\r\n

Luz tenue, música relajante y una intensa mezcla de aromas es lo primero que percibes al entrar a

\r\n

 

\r\n\r\n

BIENVENIDOS

\r\n ', 'La Tienda', '', 'inherit', 'closed', 'open', '', '61-revision-7', '', '', '2011-06-29 19:57:09', '2011-06-29 19:57:09', '', 61, 'http://localhost/originalhouse/?p=93', 0, 'revision', '', 0), +(95, 1, '2011-06-29 20:08:12', '2011-06-29 20:08:12', '

ORIGINAL HOUSE se creo en el año 2003 como alternativa a las grandes superficies y a una demanda en crecimiento de un estilo en decoración más personal.

\r\n

Consideramos que nuestros artículos tienen que estar a la altura del cliente más exigente, por eso huimos de la venta fría por Internet y preferimos tener un contacto más personalizado con vosotros. No dudéis en poneros en contacto para cualquier consulta.

\r\n

Por la gran rotación y exclusividad de nuestros articulos puede que de alguno de ellos no queden existencias.

\r\n

Hemos hecho de esta tienda un pequeño mapamundi en el que podrás encontrar referencias a casi todos los rincones del sudeste asiático y a las últimas tendencias de occidente.

\r\n

Luz tenue, música relajante y una intensa mezcla de aromas es lo primero que percibes al entrar a

\r\n

 

\r\n\r\n

BIENVENIDOS

\r\n ', 'La Tienda', '', 'inherit', 'closed', 'open', '', '61-revision-9', '', '', '2011-06-29 20:08:12', '2011-06-29 20:08:12', '', 61, 'http://localhost/originalhouse/?p=95', 0, 'revision', '', 0), +(94, 1, '2011-06-29 20:07:57', '2011-06-29 20:07:57', '

ORIGINAL HOUSE se creo en el año 2003 como alternativa a las grandes superficies y a una demanda en crecimiento de un estilo en decoración más personal.

\r\n

Consideramos que nuestros artículos tienen que estar a la altura del cliente más exigente, por eso huimos de la venta fría por Internet y preferimos tener un contacto más personalizado con vosotros. No dudéis en poneros en contacto para cualquier consulta.

\r\n

Por la gran rotación y exclusividad de nuestros articulos puede que de alguno de ellos no queden existencias.

\r\n

Hemos hecho de esta tienda un pequeño mapamundi en el que podrás encontrar referencias a casi todos los rincones del sudeste asiático y a las últimas tendencias de occidente.

\r\n

Luz tenue, música relajante y una intensa mezcla de aromas es lo primero que percibes al entrar a

\r\n

 

\r\n

\r\n

BIENVENIDOS

\r\n

 

\r\n', 'La Tienda', '', 'inherit', 'closed', 'open', '', '61-revision-8', '', '', '2011-06-29 20:07:57', '2011-06-29 20:07:57', '', 61, 'http://localhost/originalhouse/?p=94', 0, 'revision', '', 0), +(96, 1, '2011-06-29 20:12:16', '2011-06-29 20:12:16', '[catablog template="gallery"]', 'Catálogo', '', 'publish', 'closed', 'open', '', 'catalogo', '', '', '2011-06-29 20:13:18', '2011-06-29 20:13:18', '', 0, 'http://localhost/originalhouse/?page_id=96', 0, 'page', '', 0), +(97, 1, '2011-06-29 20:12:14', '2011-06-29 20:12:14', '', 'Catálogo', '', 'inherit', 'closed', 'open', '', '96-revision', '', '', '2011-06-29 20:12:14', '2011-06-29 20:12:14', '', 96, 'http://localhost/originalhouse/?p=97', 0, 'revision', '', 0), +(98, 1, '2011-06-29 20:12:16', '2011-06-29 20:12:16', '[catablog]', 'Catálogo', '', 'inherit', 'closed', 'open', '', '96-revision-2', '', '', '2011-06-29 20:12:16', '2011-06-29 20:12:16', '', 96, 'http://localhost/originalhouse/?p=98', 0, 'revision', '', 0), +(99, 1, '2011-06-29 20:12:43', '2011-06-29 20:12:43', '[catablog template="gallery"]', 'Catálogo', '', 'inherit', 'closed', 'open', '', '96-revision-3', '', '', '2011-06-29 20:12:43', '2011-06-29 20:12:43', '', 96, 'http://localhost/originalhouse/?p=99', 0, 'revision', '', 0); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `wp_terms` +-- + +CREATE TABLE IF NOT EXISTS `wp_terms` ( + `term_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(200) NOT NULL DEFAULT '', + `slug` varchar(200) NOT NULL DEFAULT '', + `term_group` bigint(10) NOT NULL DEFAULT '0', + PRIMARY KEY (`term_id`), + UNIQUE KEY `slug` (`slug`), + KEY `name` (`name`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ; + +-- +-- Volcar la base de datos para la tabla `wp_terms` +-- + +INSERT INTO `wp_terms` (`term_id`, `name`, `slug`, `term_group`) VALUES +(1, 'Sin categoría', 'sin-categoria', 0), +(2, 'Sitios de interés', 'sitios-de-interes', 0), +(3, 'sin categoría', 'catablog-term-sin-categoraa', 0), +(7, 'Catálogo', 'catalogo', 0), +(6, 'Menú principal', 'menu-principal', 0); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `wp_term_relationships` +-- + +CREATE TABLE IF NOT EXISTS `wp_term_relationships` ( + `object_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `term_taxonomy_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `term_order` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`object_id`,`term_taxonomy_id`), + KEY `term_taxonomy_id` (`term_taxonomy_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- +-- Volcar la base de datos para la tabla `wp_term_relationships` +-- + +INSERT INTO `wp_term_relationships` (`object_id`, `term_taxonomy_id`, `term_order`) VALUES +(1, 2, 0), +(2, 2, 0), +(3, 2, 0), +(4, 2, 0), +(5, 2, 0), +(6, 2, 0), +(7, 2, 0), +(1, 1, 0), +(90, 6, 0), +(85, 6, 0), +(81, 7, 0), +(80, 7, 0), +(79, 7, 0), +(78, 7, 0), +(77, 7, 0), +(75, 7, 0), +(76, 7, 0), +(69, 6, 0), +(60, 6, 0), +(22, 3, 0), +(21, 3, 0), +(20, 3, 0); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `wp_term_taxonomy` +-- + +CREATE TABLE IF NOT EXISTS `wp_term_taxonomy` ( + `term_taxonomy_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `term_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `taxonomy` varchar(32) NOT NULL DEFAULT '', + `description` longtext NOT NULL, + `parent` bigint(20) unsigned NOT NULL DEFAULT '0', + `count` bigint(20) NOT NULL DEFAULT '0', + PRIMARY KEY (`term_taxonomy_id`), + UNIQUE KEY `term_id_taxonomy` (`term_id`,`taxonomy`), + KEY `taxonomy` (`taxonomy`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ; + +-- +-- Volcar la base de datos para la tabla `wp_term_taxonomy` +-- + +INSERT INTO `wp_term_taxonomy` (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`) VALUES +(1, 1, 'category', '', 0, 1), +(2, 2, 'link_category', '', 0, 7), +(3, 3, 'catablog-terms', '', 0, 3), +(6, 6, 'nav_menu', '', 0, 4), +(7, 7, 'nav_menu', '', 0, 7); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `wp_usermeta` +-- + +CREATE TABLE IF NOT EXISTS `wp_usermeta` ( + `umeta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `meta_key` varchar(255) DEFAULT NULL, + `meta_value` longtext, + PRIMARY KEY (`umeta_id`), + KEY `user_id` (`user_id`), + KEY `meta_key` (`meta_key`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=26 ; + +-- +-- Volcar la base de datos para la tabla `wp_usermeta` +-- + +INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES +(1, 1, 'first_name', ''), +(2, 1, 'last_name', ''), +(3, 1, 'nickname', 'rodax'), +(4, 1, 'description', ''), +(5, 1, 'rich_editing', 'true'), +(6, 1, 'comment_shortcuts', 'false'), +(7, 1, 'admin_color', 'fresh'), +(8, 1, 'use_ssl', '0'), +(9, 1, 'show_admin_bar_front', 'true'), +(10, 1, 'show_admin_bar_admin', 'false'), +(11, 1, 'aim', ''), +(12, 1, 'yim', ''), +(13, 1, 'jabber', ''), +(14, 1, 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}'), +(15, 1, 'wp_user_level', '10'), +(16, 1, 'wp_dashboard_quick_press_last_post_id', '3'), +(17, 1, 'closedpostboxes_dashboard', 'a:0:{}'), +(18, 1, 'metaboxhidden_dashboard', 'a:6:{i:0;s:25:"dashboard_recent_comments";i:1;s:17:"dashboard_plugins";i:2;s:21:"dashboard_quick_press";i:3;s:23:"dashboard_recent_drafts";i:4;s:17:"dashboard_primary";i:5;s:19:"dashboard_secondary";}'), +(19, 1, 'meta-box-order_dashboard', 'a:4:{s:6:"normal";s:63:"dashboard_right_now,dashboard_recent_comments,dashboard_plugins";s:4:"side";s:108:"dashboard_quick_press,dashboard_recent_drafts,dashboard_primary,dashboard_incoming_links,dashboard_secondary";s:7:"column3";s:0:"";s:7:"column4";s:0:"";}'), +(20, 1, 'screen_layout_dashboard', '2'), +(21, 1, 'wp_user-settings', 'm6=o&m7=o&m8=o&m9=o&m5=o&imgsize=full&m4=o&m11=o&hidetb=1&editor=tinymce&m12=o'), +(22, 1, 'wp_user-settings-time', '1309378185'), +(23, 1, 'managenav-menuscolumnshidden', 'a:4:{i:0;s:11:"link-target";i:1;s:11:"css-classes";i:2;s:3:"xfn";i:3;s:11:"description";}'), +(24, 1, 'metaboxhidden_nav-menus', 'a:2:{i:0;s:8:"add-post";i:1;s:12:"add-post_tag";}'), +(25, 1, 'nav_menu_recently_edited', '6'); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `wp_users` +-- + +CREATE TABLE IF NOT EXISTS `wp_users` ( + `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `user_login` varchar(60) NOT NULL DEFAULT '', + `user_pass` varchar(64) NOT NULL DEFAULT '', + `user_nicename` varchar(50) NOT NULL DEFAULT '', + `user_email` varchar(100) NOT NULL DEFAULT '', + `user_url` varchar(100) NOT NULL DEFAULT '', + `user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `user_activation_key` varchar(60) NOT NULL DEFAULT '', + `user_status` int(11) NOT NULL DEFAULT '0', + `display_name` varchar(250) NOT NULL DEFAULT '', + PRIMARY KEY (`ID`), + KEY `user_login_key` (`user_login`), + KEY `user_nicename` (`user_nicename`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; + +-- +-- Volcar la base de datos para la tabla `wp_users` +-- + +INSERT INTO `wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES +(1, 'rodax', '$P$BT18K20H4.ABBtove1GGxVYpz6MMO3.', 'rodax', 'darranz@rodax-software.com', '', '2011-06-28 15:12:45', '', 0, 'rodax'); diff --git a/información/TT0200M_.TTF b/información/TT0200M_.TTF new file mode 100644 index 0000000..250162f Binary files /dev/null and b/información/TT0200M_.TTF differ diff --git a/información/fondos actuales/fondo-inicio.jpg b/información/fondos actuales/fondo-inicio.jpg new file mode 100644 index 0000000..56fdde9 Binary files /dev/null and b/información/fondos actuales/fondo-inicio.jpg differ diff --git a/información/fondos actuales/fondo-la-tienda.jpg b/información/fondos actuales/fondo-la-tienda.jpg new file mode 100644 index 0000000..2936e5b Binary files /dev/null and b/información/fondos actuales/fondo-la-tienda.jpg differ diff --git a/información/fondos actuales/fondo-localizanos.jpg b/información/fondos actuales/fondo-localizanos.jpg new file mode 100644 index 0000000..ec4ac55 Binary files /dev/null and b/información/fondos actuales/fondo-localizanos.jpg differ diff --git a/información/fondos actuales/fondo-servicios.jpg b/información/fondos actuales/fondo-servicios.jpg new file mode 100644 index 0000000..460d20e Binary files /dev/null and b/información/fondos actuales/fondo-servicios.jpg differ diff --git a/información/logo.gif b/información/logo.gif new file mode 100644 index 0000000..2c10fcf Binary files /dev/null and b/información/logo.gif differ diff --git a/información/logo.psd b/información/logo.psd new file mode 100644 index 0000000..5c79a11 Binary files /dev/null and b/información/logo.psd differ diff --git a/información/tarjeta de visita.psd b/información/tarjeta de visita.psd new file mode 100644 index 0000000..36b572a Binary files /dev/null and b/información/tarjeta de visita.psd differ diff --git a/referencia/iconos/100371-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-blogger-logo-square.png b/referencia/iconos/100371-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-blogger-logo-square.png new file mode 100644 index 0000000..c992284 Binary files /dev/null and b/referencia/iconos/100371-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-blogger-logo-square.png differ diff --git a/referencia/iconos/100371-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-blogger-logo-square.psd b/referencia/iconos/100371-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-blogger-logo-square.psd new file mode 100644 index 0000000..86fd3de Binary files /dev/null and b/referencia/iconos/100371-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-blogger-logo-square.psd differ diff --git a/referencia/iconos/100393-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-facebook-logo-square.png b/referencia/iconos/100393-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-facebook-logo-square.png new file mode 100644 index 0000000..5902dc5 Binary files /dev/null and b/referencia/iconos/100393-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-facebook-logo-square.png differ diff --git a/referencia/iconos/100393-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-facebook-logo-square.psd b/referencia/iconos/100393-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-facebook-logo-square.psd new file mode 100644 index 0000000..e0cd65f Binary files /dev/null and b/referencia/iconos/100393-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-facebook-logo-square.psd differ diff --git a/referencia/iconos/100465-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-twitter-logo-square.png b/referencia/iconos/100465-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-twitter-logo-square.png new file mode 100644 index 0000000..a8e822d Binary files /dev/null and b/referencia/iconos/100465-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-twitter-logo-square.png differ diff --git a/referencia/iconos/100465-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-twitter-logo-square.psd b/referencia/iconos/100465-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-twitter-logo-square.psd new file mode 100644 index 0000000..54accfb Binary files /dev/null and b/referencia/iconos/100465-high-resolution-dark-blue-denim-jeans-icon-social-media-logos-twitter-logo-square.psd differ diff --git a/referencia/iconos/full-screen-icon.png b/referencia/iconos/full-screen-icon.png new file mode 100644 index 0000000..8e02214 Binary files /dev/null and b/referencia/iconos/full-screen-icon.png differ diff --git a/referencia/iconos/full-set.zip b/referencia/iconos/full-set.zip new file mode 100644 index 0000000..9958006 Binary files /dev/null and b/referencia/iconos/full-set.zip differ diff --git a/referencia/plantillas/savinggrace.zip b/referencia/plantillas/savinggrace.zip new file mode 100644 index 0000000..050a71e Binary files /dev/null and b/referencia/plantillas/savinggrace.zip differ diff --git a/src/nbproject/private/private.properties b/src/nbproject/private/private.properties new file mode 100644 index 0000000..3933365 --- /dev/null +++ b/src/nbproject/private/private.properties @@ -0,0 +1,5 @@ +copy.src.files=false +copy.src.target= +index.file=index.php +run.as=LOCAL +url=http://localhost/originalhouse/ diff --git a/src/nbproject/private/private.xml b/src/nbproject/private/private.xml new file mode 100644 index 0000000..e97e548 --- /dev/null +++ b/src/nbproject/private/private.xml @@ -0,0 +1,6 @@ + + + + file:/D:/Trabajo/OriginalHouse/trunk/src/index.php + + diff --git a/src/nbproject/project.properties b/src/nbproject/project.properties new file mode 100644 index 0000000..9548fb6 --- /dev/null +++ b/src/nbproject/project.properties @@ -0,0 +1,7 @@ +include.path=${php.global.include.path} +php.version=PHP_5 +source.encoding=ISO-8859-1 +src.dir=. +tags.asp=false +tags.short=true +web.root=. diff --git a/src/nbproject/project.xml b/src/nbproject/project.xml new file mode 100644 index 0000000..2eb395c --- /dev/null +++ b/src/nbproject/project.xml @@ -0,0 +1,9 @@ + + + org.netbeans.modules.php.project + + + Original House + + + diff --git a/src/wp-content/plugins/catablog/catablog.php b/src/wp-content/plugins/catablog/catablog.php new file mode 100644 index 0000000..93f81b4 --- /dev/null +++ b/src/wp-content/plugins/catablog/catablog.php @@ -0,0 +1,123 @@ +registerWordPressHooks(); + + /** + * Template function to emulate the CataBlog Shortcode behavior. + * This function will echo out your catalog. + * + * @param string $category A list of CataBlog category names separated by commas + * @param string $template A CataBlog template file name + * @param string $sort The column to sort your catalog by, defaults to menu_order + * @param string $order The order to sort your catalog by, default to ascending + * @param string $operator The operator to apply to the categories passed in, defaults to IN + * @return void + */ + function catablog_show_items($category=null, $template=null, $sort='menu_order', $order='asc', $operator='IN') { + global $wp_plugin_catablog_class; + $wp_plugin_catablog_class->frontend_init(true); + echo $wp_plugin_catablog_class->frontend_content(array('category'=>$category, 'template'=>$template, 'sort'=>$sort, 'order'=>$order, 'operator'=>$operator)); + } + + /** + * Template function for fetching a single catalog item by id + * + * @param integer $id The id of a catalog item to fetch + * @return CataBlogItem|NULL Returns a CataBlogItem object if a catalog item was found, otherwise NULL + */ + function catablog_get_item($id=false) { + if (is_numeric($id) && $id > 0) { + return CataBlogItem::getItem($id); + } + return null; + } + +} +if (version_compare(phpversion(), '5.0.0', '>=')) { + catablog_load_plugin(); +} + + + +// Test that the system meets all requirements on activation +function catablog_activate() { + + // check if PHP is version 5 + if (version_compare(phpversion(), '5.0.0', '<')) { + wp_die(__("CataBlog requires PHP 5 or better running on your web server. You're version of PHP is to old, please contact your hosting company or IT department for an upgrade. Thanks.", 'catablog')); + } + + // check if GD Library is loaded in PHP + if (!extension_loaded('gd') || !function_exists('gd_info')) { + wp_die(__("CataBlog requires that the GD Library be installed on your web server's version of PHP. Please contact your hosting company or IT department for more information. Thanks.", 'catablog')); + } + + // check WordPress version + if (version_compare(get_bloginfo('version'), '3.1', '<')) { + wp_die(__("CataBlog requires WordPress 3.1 or above. Please upgrade WordPress or contact your system administrator about upgrading.", 'catablog')); + } + + // check if the wp uploads folder is writable + $uploads_dir = wp_upload_dir(); + if ($uploads_dir['error'] !== false) { + wp_die(__("CataBlog could not detect your upload directory or it is not writable by PHP. Please make sure Apache and PHP have write permission for the configured uploads folder. Contact your hosting company or IT department for more information. Thanks.", 'catablog')); + } +} +register_activation_hook( __FILE__, 'catablog_activate' ); + + + +// Remote post on deactivation +function catablog_deactivate() { + $body_array = array('action'=>'deactivate', 'site-url'=>site_url(), 'version'=>'1.2.9.7'); + $post_action = wp_remote_post('http://catablog.illproductions.com/tracker.php', array('body'=>$body_array)); +} +register_deactivation_hook( __FILE__, 'catablog_deactivate' ); + diff --git a/src/wp-content/plugins/catablog/css/catablog-admin.css b/src/wp-content/plugins/catablog/css/catablog-admin.css new file mode 100644 index 0000000..695d052 --- /dev/null +++ b/src/wp-content/plugins/catablog/css/catablog-admin.css @@ -0,0 +1,891 @@ +body { +/* min-width: 900px !important;*/ +} + + +.error { + background-color: #FFEBE8; + padding: 0 0.6em; + border: 1px #C00 solid; +} + +th.catablog-sortable { + cursor: pointer; + background-image: url('./../images/sort.gif'); + background-position: right center; + background-repeat: no-repeat; +} + +#catablog_items tr { + background-color: #fff; +} + +#catablog_items.sort_enabled tr, +#catablog_items.sort_enabled li { + cursor: move !important; + background-color: #f6f6f6 !important; +} +#catablog_items.sort_enabled tr:hover, +#catablog_items.sort_enabled li:hover { + background-color: #fee !important; +} +#catablog_items.sort_enabled a { + cursor: move !important; +} +#catablog_items.sort_enabled div.row-actions { + display: none !important; +} +#catablog_items.sort_enabled tr th.check-column { + background: transparent url('./../images/drag-handle.png') no-repeat scroll center center; +} + + +#catablog-view-switch #view-switch-list { + background-image: url('./../images/catablog-switch-view.png') !important; +} +#catablog-view-switch #view-switch-list.current { + background-position: -40px; +} +#catablog-view-switch #view-switch-excerpt { + background-image: url('./../images/catablog-switch-view.png') !important; +} +#catablog-view-switch #view-switch-excerpt.current { + background-position: -60px; +} + + +#icon-catablog { + -moz-background-clip: border; + -moz-background-inline-policy: continuous; + -moz-background-origin: padding; + background: transparent url('./../images/catablog-icon-32.png') no-repeat scroll left top; +} + +.cb_order_column { + width: 1px; + text-align: center !important; +} +.cb_icon_column { + width: 80px; + text-align: center !important; +} +.cb_item_icon { + display: block; + width: 50px; + height: 50px; + border: 0 none; + margin: 0 auto; +} +.cb_disabled_link { + color: #333 !important; +} + +.column-rm { + width: 6em; +} + +#catablog-category-add-checklist { + float: left; + padding: 0.5%; + width: 48%; + border: 1px #e2e2e2 solid; +} +#catablog-category-remove-checklist { + margin-left: 50%; + margin-bottom: 1em; + padding: 0.5%; + width: 48%; + border: 1px #e2e2e2 solid; +} +#catablog-category-add-checklist strong.list-title, +#catablog-category-remove-checklist strong.list-title { + display: block; + padding: 0.5em; + background: #f3f3f3; + border-bottom: 1px #e7e7e7 solid; +} +#catablog-category-add-checklist ul, +#catablog-category-remove-checklist ul { + height: 13em; + margin: 0px !important; + overflow: auto; +} + +#catablog-edit { + position: relative; +} +#catablog-edit-main { + float: left; + position: relative; + width: 100%; + margin: 0 -265px 0 0; +} +#catablog-edit-main-content { + margin: 0 265px 0 0; +} +#catablog-edit-params { + float: right; + clear: right; + position: relative; + width: 250px; + margin: 0 0 0 auto; +} +#catablog-edit-params input.text-field { + width: 100%; + margin: 0 0 0.5em 0; +} +#catablog-edit-params input.file-field { + width: 96%; + margin: 0; +} + + + + + + +#catablog-edit-main-text { + margin: 0 0 0 135px; + border-width: 0 !important; + padding: 0 0 9px 9px !important; +} +#catablog-edit-main-text input { + width: 100%; + font-size: 18px; + line-height: 20px; + padding: 3px; + color: #464646; +} +#catablog-edit-main-text textarea { + width: 100%; + height: 30em; +} + + + + + + + +#catablog-edit-main-image { + position: relative; + float: left; + margin: 0; + width: 135px; + border: 0 none !important; + padding: 0 !important; +} +#catablog-edit-main-image img.catablog-image-preview { + width: 100px; + height: 100px; +} +#catablog-edit-main-image input { + display: block; +} +#catablog-edit-image-controls { + text-align: left; + display: block; +} + + +#catablog-edit-images-column { + background-color: #fff; + border: 1px #dfdfdf solid !important; + border-radius: 3px; + text-align: center; +} + +#catablog-edit-images-column hr { + background: #dfdfdf; + height: 1px; + border: 0 none; +} + +#catablog-sub-images { + position: relative; + width: 100px; + margin: 0 auto; + padding: 0; + border: 0 none; + list-style:none; +} +#catablog-sub-images li { + display: block; + position: relative; + margin: 0 0 5px 0; + cursor: move; +} +#catablog-sub-images li img { + display: block; + width: 100px; + height: 100px; + margin: 0; + padding: 0; + border: 0 none; +} +.catablog-delete-subimage { + display: block; + display: none; + position: absolute; + background: #fff; + top: 5px; + right: 5px; + line-height: 22px; + font-size: 16px; + padding: 0 4px 0 5px; + text-decoration: none; + border: 1px #d00 solid; + color: #d00; + cursor: pointer; +} +#catablog-sub-images li:hover .catablog-delete-subimage { + display: block; +} +.catablog-sub-image-trash { + display: block; + width: 49px; + height: 49px; + margin: 2px 2px 0 0; + background-color: #fee; +} + + + + + +#edit-category-window { + top: 60px; +} +.catablog-modal { + display: none; + position: absolute; + top: 120px; + left: 0px; + width: 100%; + padding: 0; + margin: 0; + z-index: 1001; +} +.catablog-modal form { + width: 550px; + margin: 0 auto; +} +.catablog-modal form h3.catablog-modal-title { + background-image: url('./../images/gray-grad.png'); + border: 1px solid #DDD; + color: #464646; + font-size: 12px; + font-weight: bold; + margin: 0px; + padding: 6px; + + -moz-border-radius: 6px 6px 0 0; + border-radius: 6px 6px 0 0; + + -moz-box-shadow: 2px 2px 6px #333; + -webkit-box-shadow: 2px 2px 6px #333; + box-shadow: 2px 2px 6px #333; +} +.catablog-modal form div.catablog-modal-body { + border: solid #DDD; + border-width: 0px 1px 1px; + padding: 9px; + background-color: #fff; + + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; + + -moz-box-shadow: 2px 2px 6px #333; + -webkit-box-shadow: 2px 2px 6px #333; + box-shadow: 2px 2px 6px #333; +} + + + + +#catablog-edit-main-image #select-image-button { + width: 100px; + height: 31px; + margin: 10px 0; + background: url('./../images/catablog-admin-select-image.png') 0 0 no-repeat; + + display: block; + overflow: hidden; + cursor: pointer; + + +} +#catablog-edit-main-image #new_image { + position: relative; + height: 100%; + width: auto; + cursor: pointer; + + opacity: 0; + -moz-opacity: 0; + filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0); +} + + + + +#catablog-edit-main-image #catablog-edit-main-image strong { + color: #c00; +} + +#catablog-edit-main-image #no-image-icon { + width: 98px; + height: 38px; + line-height: 15px; + padding: 30px 0; + border: 1px #ddd solid; + background-color: #ededed; + background-image: url('./../images/gray-grad.png'); + background-position: left bottom; + background-repeat: repeat-x; + font-weight: bold; + margin: 0; + text-align: center; + color: #900; + border-radius: 3px; +} + + + + + + + + + + + + + +.catablog-category-row { + position: relative; + display: block; +} + +.catablog-category-row.hover { + background-color: #ffd; +} + +.catablog-category-delete { + float: right; + text-align: right; + vertical-align: middle; +} + + + + +#catablog-edit #catablog-new-category { + border: 0 none; + border-top: 1px #ccc solid; + margin: 1em 0 0 0; + padding: 1em 0 0 0; +} +.catablog-category-row span { + vertical-align: middle; +} +#catablog-new-category-submit { + float: right; +} +#catablog-new-category-submit:active { + background-color: #555; +} +#catablog-new-category-load { + width: 16px; + height: 16px; + margin: 0 0 0 10px; + vertical-align: middle; +} + + + + + + +#catablog-edit-main-save { + border-width: 0 0 0 0 !important; + margin: 0 0 0 145px; +} + + + + + +#catablog-options { + display: block; +} + + + + + + + + + + +form#catablog-edit fieldset { + padding: 0; + margin: 0 0 16px 0; + border: 0 none; +} +form#catablog-edit fieldset h3 { + font-size: 12px; + font-weight: bold; + padding: 6px; + background-image: url('./../images/gray-grad.png'); + margin: 0; + -moz-border-radius: 6px 6px 0 0; + border-radius: 6px 6px 0 0; + color: #464646; + border: 1px #dfdfdf solid; +} +form#catablog-edit fieldset div { + border: 1px #ddd solid; + border-width: 0 1px 1px 1px; + padding: 9px; + background: #fff; +} + + + + + +#upload-form-left-col.left-col { + float: left; + width: 17em; +} +#upload-form-right-col.right-col { + margin: 0 0 0 19em; + border: 1px #ccc solid; + border-radius: 5px; + background: #fcfcfc; +} + +#upload-feedback { + padding: 1em; + margin: 0; +} + + + + + + +#new-items-editor li.error { + border: 0; + border-top: 1px #c00 solid; +} + +#new-items-editor li { + display: none; + padding: 1em; + margin: 0; + border-top: 1px #e1e1e1 solid; +} + +#new-items-editor li .button-elements { + float: left; + width: 100px; +} +#new-items-editor li .button-elements img { + width: 100px; + height: 100px; + margin-bottom: 6px; + border: 1px #dfdfdf solid; + border-radius: 5px; +} + +#new-items-editor li .text-elements { + margin-left: 112px; + min-height: 100px; +} +#new-items-editor li .text-elements input.title, +#new-items-editor li .text-elements textarea.description { + display: block; + width: 100%; + font-size: 12px; + line-height: 18px; + padding: 2px; + margin: 1px 0; +} +#new-items-editor li .text-elements textarea.description { + height: 4em; + margin-bottom: 4px; +} +#new-items-editor li .text-elements input.button-primary { + +} + + + + + + + + +#catablog-options-menu { + float: left; + width: 115px; + margin: 0 0 0 0; +} +#catablog-options-menu li a { + position: relative; + left: 1px; + display: block; + border: 1px #e7e7e7 solid; + background: #e7e7e7; + padding: 5px 10px; + border-radius: 5px 0 0 5px; +} +#catablog-options-menu li a.selected { + background: #fff; + border-color: #e7e7e7 #fff #e7e7e7 #e7e7e7; + color: #444; + text-decoration: none; +} + +.catablog-options-panel { + margin: 0 0 0 115px !important; + min-height: 340px; + padding: 1em; + border: 1px #ddd solid;; + background-color: #fff; + border-radius: 0 3px 3px 3px; +} +.catablog-options-panel label { + font-weight: bold; +} +.catablog-options-panel > p { + margin: 0 0 1em 0; +} +.catablog-options-panel legend { + display: none; +} +.catablog-options-panel hr { + background: #ddd; + border: 0 none; + border-top: 1px #ddd solid; +} + + + + + +/* CATABLOG OPTIONS - MISC CLASSES AND HELPERS */ +.catablog-options-panel #thumbnail_preview .demo_box { + display: block; + position: relative; + background-color: #ccc; + border: 1px #999 solid !important; + margin: 0; + overflow: hidden; +} +.catablog-options-panel #thumbnail_preview .demo_box img { + display: block; + position: absolute; + top: 13%; + left: 0px; + width: 100%; +} +.catablog-options-panel #thumbnail_preview .demo_box.crop img { + top: 0px; + left: -12%; + width: auto; + height: 100%; +} + +.catablog-options-panel a.catablog-load-code { + vertical-align: middle; +} +.catablog-options-panel textarea.catablog-code { + width: 100%; + height: 22em; + overflow: auto; + white-space: pre; +} + + + + + + +#catablog_items.catablog-grid-view { + clear: both; +} +#catablog_items.catablog-grid-view li.clear { + clear: left; + float: none; + height: 0; + padding: 0; + margin: 0; + border: 0 none; +} +#catablog_items.catablog-grid-view li { + display: block; + position: relative; + float: left; + width: 100px; + border: 3px #eee solid; + text-align: center; + margin: 5px; + background: #fff; + vertical-align: top; +} +#catablog_items.catablog-grid-view li a.catablog-admin-thumbnail { + display: block; + width: 100px; + height: 100px; + text-decoration: none; + margin: 0; +} +#catablog_items.catablog-grid-view li a.catablog-admin-thumbnail img { + width: 100px; + height: 100px; + border: 0; +} +#catablog_items.catablog-grid-view li a.catablog-title { + display: block; + height: 2.5em; + line-height: 1.4; + margin: 0.5em; + overflow: hidden; + text-decoration: none; +} +#catablog_items.catablog-grid-view li input.bulk_selection { + position: absolute; + top: 0px; + left: 0px; +} + + + + + +/* +form#catablog-import-export fieldset div.controls { + float: left; + width: 280px; + +} +form#catablog-import-export fieldset div.advice { + margin: 0 0 0 300px; + border-left: 1px #e3e3e3 solid; + padding: 0 0 0 20px; +} +*/ + + + + + + + + + + + + +form fieldset.disabled { + color: #888 !important; +} +form fieldset.disabled input { + color: #888 !important; +} + + + + + +/* + +form#catablog-view {} +form#catablog-view #catablog-view-menu { + display: block; + margin: 0 0 10px 0; + padding: 3px; + margin: 0 0 10px 0; + width: 100%; +} +*/ + + + + + + + + + + + +.catablog-progress { + position: relative; + height: 3em; + line-height: 3em; + border: 1px #e8e8e8 solid; + background-color: #fff; + padding: 0 1em; + margin: 0 0 1em 0; + -moz-border-radius: 15px; + border-radius: 15px; +} +.catablog-progress-text { + position: relative; + padding: 0; + margin: 0; +} +.catablog-progress-bar { + position: absolute; + top: 0px; + left: 0px; + height: 100%; + width: 0%; + background-color: #7dc2fd; + -moz-border-radius: 15px; + border-radius: 15px; +} +#catablog-progress-fullsize .catablog-progress-bar { + background-color: #fdcb7d; +} + +#catablog-console { + padding: 1em; + border: 1px #e3e3e3 solid; + height: 25em; + background: #fff; + overflow: auto; + -moz-border-radius: 1em; + border-radius: 1em; +} + + + + + +.ajax-save { + padding: 0 1em; + line-height: 20px; + background-color: transparent; + background-image: url('./../images/ajax-loader-small.gif'); + background-repeat: no-repeat; + background-position: center top; +} + + + + + + + + + +#catablog_load_curtain { + display: none; + position: absolute; + position: fixed; + top: 0px; + left: 0px; + width: 100%; + height: 100%; + background-color: #fff; + z-index: 1000; +} +#catablog_load_display { + position: relative; + width: 200px; + height: 50px; + margin: 50px auto 0 auto; + padding: 35px 0 0 0; + text-align: center; + background-color: #fff; + background-image: url('./../images/ajax-loader.gif'); + background-repeat: no-repeat; + background-position: center top; + z-index: 10001; +} + + + + +#catablog-import-messages li { + margin: 0 0 5px 0 !important; +} + + + + +table.catablog_stats td { + padding: 0 2em 0 0; +} + + + + + + +#color-picker-div { + z-index: 100; + background: #fff; + padding: 3px; + border: 1px #ccc solid; + border-width: 1px 1px 2px 1px; + display: none; + position: absolute; + top: 200px; + left: 550px; + + -moz-box-shadow: 1px 1px 5px #333; + -webkit-box-shadow: 1px 1px 5px #333; + box-shadow: 1px 1px 5px #333; +} +#pickcolor { + display: inline-block; + position: relative; + width: auto; + padding: 0 5px 3px 5px; + background: #fff; + z-index: 1200; + border: 1px #fff solid; +} +#pickcolor.selected { + background-color: #fff; + border: 1px #ccc solid; + border-bottom-width: 0px; +} +.color-swatch { + height: 23px; + width: 23px; + background-color: #fff; + display: inline-block; + vertical-align: top; + border: 1px #ccc solid; +} + + + + + + + + +.clear_float:after { + content: "."; + display: block; + height: 0; + clear:both; + visibility: hidden; +} + +.hide { + display: none; +} +.warning { + color: #c00; + text-decoration: underline; +} \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/css/catablog.css b/src/wp-content/plugins/catablog/css/catablog.css new file mode 100644 index 0000000..2705fa3 --- /dev/null +++ b/src/wp-content/plugins/catablog/css/catablog.css @@ -0,0 +1,273 @@ +/* + * CataBlog StyleSheet, version 1.2.5 + */ + + +/* Default and Subimages Template CSS Classes */ +.catablog-row { + position: relative; + display: block; + float: none; + margin: 0; + padding: 5px 5px 15px 5px; +} +.catablog-row .catablog-images-column { + float: left; + position: relative; +} +.catablog-row img.catablog-image, +.catablog-row .catablog-image img { + display: block; + height: auto; + float: left; +} +.catablog-row .catablog-images-column .catablog-image img { + float: none; +} +.catablog-row .catablog-image.catablog-subimage { + float: left; + width: 50%; + margin: 0; + padding: 0; + border: 0 none; + +} +.catablog-row .catablog-image.catablog-subimage img { + width: 100% !important; +} +.catablog-row .catablog-title { + display: block; + font-size: 1.4em; + font-weight: bold; + clear: none; + float: none; +} +.catablog-row .catablog-description { + display: block; + clear: none; + float: none; +} +.catablog-row .catablog-description:after { + content: "."; + display: block; + clear: both; + height: 0px; + visibility: hidden; +} + + +/* Grid and Gallery Template CSS Classes */ +.catablog-gallery.catablog-row { + display: block; + position: relative; + float: left; + padding: 0; + margin: 5px; +} +.catablog-gallery.catablog-row .catablog-image { + display: block; + float: none; + position: static; +} +.catablog-gallery.catablog-row .catablog-image img { + float: none; +} +.catablog-gallery.catablog-row:hover .catablog-title { + display: block; +} +.catablog-gallery.catablog-row .catablog-title { + display: none; + position: absolute; + bottom: 0px; + left: 0px; + color: #fff; + background: #222; + opacity: 0.8; + margin: 0 !important; + padding: 5px; + font-weight: normal; + font-size: 1em; +} +.catablog-gallery.catablog-row .catablog-description { + display: none; + margin: 0 !important; +} + + +/* Single and Archive view classes */ + + + +.catablog-credits { + display: block; + clear: both; + overflow: hidden; + height: 0px !important; + padding: 0px !important; + margin: 0 0 1em 0 !important; +} + + + + + + +/* Deprecated CSS Classes (You Should NOT USE or depend on these Classes)*/ +.catablog-image.catablog-lightbox, +.catablog-subimage.catablog-lightbox { + cursor: pointer; +} +.catablog-image.catablog-lightbox:hover { + border-color: red; +} +.catablog-selected { + +} + + + +/* LightBox CSS Classes */ +#catablog-curtain { + display: block; + position: absolute; + position: fixed; + top: 0px; + left: 0px; + width: 100%; + height: 100%; + background-color: #000; + z-index: 10000; + -moz-user-select: none; + -khtml-user-select: none; + user-select: none; +} +#catablog-lightbox { + display: none; + position: absolute; + width: 100%; + top: 50px; + left: 0px; + z-index: 10200; + -moz-user-select: none; + -khtml-user-select: none; + user-select: none; +} +#catablog-lightbox #catablog-whiteboard { + position: relative; + width: 100px; + height: 100px; + margin: 0 auto; + padding: 10px; + background-color: #fff; + background-image: none; + background-repeat: no-repeat; + background-position: center center; + border: 1px #000 solid; + border-width: 0 1px 2px 0; +} +#catablog-lightbox #catablog-whiteboard.loading { + background-image: url('./../images/ajax-loader.gif'); +} +#catablog-lightbox-meta { + position: relative; + display: none; + padding: 0.5em 0; +} +#catablog-lightbox-meta .catablog-lightbox-title { + font-size: 14px; + font-weight: bold; + -moz-user-select: normal; + -khtml-user-select: normal; + user-select: normal; +} +#catablog-lightbox-meta .catablog-lightbox-desc { + position: relative; + line-height: 1.5; + -moz-user-select: normal; + -khtml-user-select: normal; + user-select: normal; + +} +#catablog-lightbox-image { + position: relative; + display: none; +} +#catablog-lightbox-image a { + display: block; + position: absolute; + top: 0px; + width: 50%; + text-decoration: none; + background: transparent; + background-image: url("./../images/blank.gif"); +} +#catablog-lightbox-image a span { + display: none; +} +#catablog-lightbox-image a span:first-letter { + border-bottom: 1px #caa solid; +} +#catablog-lightbox-next:hover span, +#catablog-lightbox-prev:hover span, +#catablog-lightbox-next:focus span, +#catablog-lightbox-prev:focus span { + display: block; +} +#catablog-lightbox-next { + right: 0px; + outline: 0 none; + border: 0 none; +} +#catablog-lightbox-prev { + left: 0px; + outline: 0 none; + border: 0 none; +} +#catablog-lightbox-close { + display: block; + display: none; + position: absolute; + top: -14px; + right: -14px; + width: 48px; + height: 48px; + background-image: url("./../images/close-lightbox.png"); + background-position: 0px 0px; + background-repeat: no-repeat; + overflow: hidden; + text-indent: -9999px; + outline: 0 none; + border: 0 none; +} +#catablog-lightbox-next .catablog-lightbox-nav-label { + right: 0px; + bottom: 20px; + padding-left: 30px; + -moz-border-radius: 30px 0 0 30px; + -webkit-border-radius: 30px 0 0 30px; + border-radius: 30px 0 0 30px; +} +#catablog-lightbox-prev .catablog-lightbox-nav-label { + left: 0px; + top: 20px; + padding-right: 30px; + -moz-border-radius: 0 30px 30px 0; + -webkit-border-radius: 0 30px 30px 0; + border-radius: 0 30px 30px 0; +} +.catablog-lightbox-nav-label { + display: none; + display: block; + position: absolute; + background: #fff; + color: #555; + padding: 15px; + font-size: 22px; + font-weight: bold; + line-height: 30px; + text-decoration: none; + cursor: pointer; +} +.catablog-lightbox-nav-label:hover { + +} \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/images/ajax-loader-small.gif b/src/wp-content/plugins/catablog/images/ajax-loader-small.gif new file mode 100644 index 0000000..d60f1b8 Binary files /dev/null and b/src/wp-content/plugins/catablog/images/ajax-loader-small.gif differ diff --git a/src/wp-content/plugins/catablog/images/ajax-loader.gif b/src/wp-content/plugins/catablog/images/ajax-loader.gif new file mode 100644 index 0000000..c3187cb Binary files /dev/null and b/src/wp-content/plugins/catablog/images/ajax-loader.gif differ diff --git a/src/wp-content/plugins/catablog/images/blank.gif b/src/wp-content/plugins/catablog/images/blank.gif new file mode 100644 index 0000000..e565824 Binary files /dev/null and b/src/wp-content/plugins/catablog/images/blank.gif differ diff --git a/src/wp-content/plugins/catablog/images/catablog-admin-select-image.png b/src/wp-content/plugins/catablog/images/catablog-admin-select-image.png new file mode 100644 index 0000000..873aa07 Binary files /dev/null and b/src/wp-content/plugins/catablog/images/catablog-admin-select-image.png differ diff --git a/src/wp-content/plugins/catablog/images/catablog-icon-16.png b/src/wp-content/plugins/catablog/images/catablog-icon-16.png new file mode 100644 index 0000000..8903d81 Binary files /dev/null and b/src/wp-content/plugins/catablog/images/catablog-icon-16.png differ diff --git a/src/wp-content/plugins/catablog/images/catablog-icon-32.png b/src/wp-content/plugins/catablog/images/catablog-icon-32.png new file mode 100644 index 0000000..8e42f9b Binary files /dev/null and b/src/wp-content/plugins/catablog/images/catablog-icon-32.png differ diff --git a/src/wp-content/plugins/catablog/images/catablog-switch-view.png b/src/wp-content/plugins/catablog/images/catablog-switch-view.png new file mode 100644 index 0000000..901974a Binary files /dev/null and b/src/wp-content/plugins/catablog/images/catablog-switch-view.png differ diff --git a/src/wp-content/plugins/catablog/images/catablog-thumbnail-preview.jpg b/src/wp-content/plugins/catablog/images/catablog-thumbnail-preview.jpg new file mode 100644 index 0000000..f39fc95 Binary files /dev/null and b/src/wp-content/plugins/catablog/images/catablog-thumbnail-preview.jpg differ diff --git a/src/wp-content/plugins/catablog/images/close-lightbox.png b/src/wp-content/plugins/catablog/images/close-lightbox.png new file mode 100644 index 0000000..9fe7278 Binary files /dev/null and b/src/wp-content/plugins/catablog/images/close-lightbox.png differ diff --git a/src/wp-content/plugins/catablog/images/drag-handle.png b/src/wp-content/plugins/catablog/images/drag-handle.png new file mode 100644 index 0000000..2adaa13 Binary files /dev/null and b/src/wp-content/plugins/catablog/images/drag-handle.png differ diff --git a/src/wp-content/plugins/catablog/images/gray-grad.png b/src/wp-content/plugins/catablog/images/gray-grad.png new file mode 100644 index 0000000..99c45ce Binary files /dev/null and b/src/wp-content/plugins/catablog/images/gray-grad.png differ diff --git a/src/wp-content/plugins/catablog/images/progress-background.png b/src/wp-content/plugins/catablog/images/progress-background.png new file mode 100644 index 0000000..b995c8f Binary files /dev/null and b/src/wp-content/plugins/catablog/images/progress-background.png differ diff --git a/src/wp-content/plugins/catablog/images/sort.gif b/src/wp-content/plugins/catablog/images/sort.gif new file mode 100644 index 0000000..2a5a6e8 Binary files /dev/null and b/src/wp-content/plugins/catablog/images/sort.gif differ diff --git a/src/wp-content/plugins/catablog/images/sortable_handle.png b/src/wp-content/plugins/catablog/images/sortable_handle.png new file mode 100644 index 0000000..f20019f Binary files /dev/null and b/src/wp-content/plugins/catablog/images/sortable_handle.png differ diff --git a/src/wp-content/plugins/catablog/images/upload.png b/src/wp-content/plugins/catablog/images/upload.png new file mode 100644 index 0000000..e2280a2 Binary files /dev/null and b/src/wp-content/plugins/catablog/images/upload.png differ diff --git a/src/wp-content/plugins/catablog/js/catablog-admin.js b/src/wp-content/plugins/catablog/js/catablog-admin.js new file mode 100644 index 0000000..1f5fe93 --- /dev/null +++ b/src/wp-content/plugins/catablog/js/catablog-admin.js @@ -0,0 +1,215 @@ +function show_load() { + jQuery('body').append("
"); + jQuery('#catablog_load_curtain').append("
...
"); + + jQuery('#catablog_load_curtain').fadeTo(200, 0.8); +} +function hide_load() { + setTimeout(function() { + jQuery('#catablog_load_curtain').fadeOut(400, function() { + jQuery(this).remove(); + }); + }, 500); +} + + +function show_image_upload_modal() { + jQuery('body').append("
"); + jQuery('#catablog_load_curtain').append("
...
"); + + jQuery('#catablog_load_curtain').fadeTo(200, 0.8); +} + + + + +function discourage_leaving_page(message) { + var all_links = jQuery('a').filter(function() { + return ( jQuery(this).attr('href').charAt(0) != '#' ); + }).filter(function() { + return (jQuery(this).hasClass('cb_disabled_link') == false); + }); + + all_links.bind('click', function(event) { + if (message == null) { + message = "you should not leave the page..."; + } + if(!confirm(message)) { + return false; + } + }); +} +function unbind_discourage_leaving_page() { + var all_links = jQuery('a').filter(function() { + return ( jQuery(this).attr('href').charAt(0) != '#' ); + }); + + all_links.unbind('click'); +} + + + + +function is_integer(s) { + return (s.toString().search(/^[0-9]+$/) == 0); +} + + + + +function enable_save_button() { + jQuery('#save_changes').attr('disabled', false); + jQuery('#save_changes').attr('class', 'button-primary'); +} + +function disable_save_button() { + jQuery('#save_changes').attr('disabled', true); + jQuery('#save_changes').attr('class', 'button-disabled'); +} + + + +function possibly_disable_save_button() { + if (jQuery('small.error:visible').size() == 0) { + jQuery('#save_changes').attr('disabled', false); + jQuery('#save_changes').attr('class', 'button-primary'); + } + else { + jQuery('#save_changes').attr('disabled', true); + jQuery('#save_changes').attr('class', 'button-disabled'); + } +} + + + +function renderCataBlogItems(images, type, nonce, callback) { + total_count = images.length; + renderCataBlogItem(images.shift(), type, images, nonce, total_count, callback); +} + +function renderCataBlogItem(image, type, a, nonce, total_count, callback) { + var progress_bar = jQuery('#catablog-progress-' + type + ' .catablog-progress-bar'); + var progress_text = jQuery('#catablog-progress-' + type + ' .catablog-progress-text'); + var percent_complete = 100 - ((a.length / total_count) * 100); + + + var params = { + 'image': image, + 'type': type, + 'count': a.length, + 'total': total_count, + 'action': 'catablog_render_images', + 'security': nonce + } + + jQuery.post(ajaxurl, params, function(data) { + try { + data = eval(data); + + var progress_message = data.message; + progress_text.html(percent_complete.toFixed(1)+'% '+progress_message+''); + + if (data.success == false) { + jQuery('#catablog-console').append('
  • ' + data.error + '
  • ') + } + + } + catch(e) { + jQuery('#catablog-console').append('
  • ' + e + '
  • ') + } + + if (a.length > 0) { + progress_bar.css('width', percent_complete + '%'); + renderCataBlogItem(a.shift(), type, a, nonce, total_count, callback); + } + else { + progress_bar.css('width', '100%'); + progress_text.html(progress_message); + // unbind_discourage_leaving_page(); + callback.call(this); + } + }); +} + + + + + + + + + + +catablog_global_lazyload_elements = null; + +function calculate_lazy_loads() { + var scroll_top = jQuery(window).scrollTop(); + var scroll_bottom = scroll_top + jQuery(window).height() - 20; + + if (catablog_global_lazyload_elements == null) { + catablog_global_lazyload_elements = jQuery('#catablog_items a.lazyload'); + } + + + catablog_global_lazyload_elements.each(function(i) { + var top_offset = jQuery(this).offset().top; + + if (scroll_bottom > top_offset) { + jQuery(this).removeClass('lazyload'); + jQuery(this).append(''); + jQuery(this).children('img').hide().attr('src', jQuery(this).attr('rel')).show(); + + catablog_global_lazyload_elements = catablog_global_lazyload_elements.not(this); + } + else { + return false; + } + }); +} + + + + + + + + +function replaceSelection (input, replaceString) { + if (input.setSelectionRange) { + var selectionStart = input.selectionStart; + var selectionEnd = input.selectionEnd; + input.value = input.value.substring(0, selectionStart)+ replaceString + input.value.substring(selectionEnd); + + if (selectionStart != selectionEnd){ + setSelectionRange(input, selectionStart, selectionStart + replaceString.length); + }else{ + setSelectionRange(input, selectionStart + replaceString.length, selectionStart + replaceString.length); + } + + }else if (document.selection) { + var range = document.selection.createRange(); + + if (range.parentElement() == input) { + var isCollapsed = range.text == ''; + range.text = replaceString; + + if (!isCollapsed) { + range.moveStart('character', -replaceString.length); + range.select(); + } + } + } +} +function setSelectionRange(input, selectionStart, selectionEnd) { + if (input.setSelectionRange) { + input.focus(); + input.setSelectionRange(selectionStart, selectionEnd); + } + else if (input.createTextRange) { + var range = input.createTextRange(); + range.collapse(true); + range.moveEnd('character', selectionEnd); + range.moveStart('character', selectionStart); + range.select(); + } +} diff --git a/src/wp-content/plugins/catablog/js/catablog.handlers.js b/src/wp-content/plugins/catablog/js/catablog.handlers.js new file mode 100644 index 0000000..3845d10 --- /dev/null +++ b/src/wp-content/plugins/catablog/js/catablog.handlers.js @@ -0,0 +1,110 @@ + +function catablog_swfupload_loaded() { + +} + +function catablog_swfupload_file_dialog_complete(numFilesSelected, numFilesQueued, totalFilesQueued) { + try { + if (numFilesSelected > 0) { + + var total_uploads = this.getStats().successful_uploads + this.getStats().files_queued; + + jQuery('#current_number').html(this.getStats().successful_uploads); + jQuery('#total_number').html(total_uploads); + jQuery('#upload-form-right-col').removeClass('hide'); + + // jQuery('#cancel-upload').attr('disabled', false); + + this.startUpload(); + } + } catch (error) { + this.debug(error); + } +} + +function catablog_swfupload_file_queued(file) { + +} + + + +function catablog_swfupload_upload_start(file) { + try { + var total_uploads = this.getStats().successful_uploads + this.getStats().files_queued; + var percent = Math.ceil((this.getStats().successful_uploads / total_uploads) * 100) + '%'; + + jQuery('#catablog-progress-all-uploads .catablog-progress-bar').width(percent); + jQuery('#catablog-progress-all-uploads .catablog-progress-text').html(percent); + + jQuery('#catablog-progress-current-upload .catablog-progress-bar').width(0); + jQuery('#catablog-progress-current-upload .catablog-progress-text').html(file.name); + + jQuery('#current_number').html(this.getStats().successful_uploads + 1); + jQuery('#total_number').html(total_uploads); + // jQuery('#upload-form-right-col').removeClass('hide'); + + + } catch(error) { + this.debug(error); + } +} + +function catablog_swfupload_upload_progress(file, bytesLoaded, bytesTotal) { + var percent = Math.ceil((bytesLoaded/bytesTotal) * 100) + '%'; + jQuery('#catablog-progress-current-upload .catablog-progress-bar').width(percent); +} + +function catablog_swfupload_upload_success(file, serverData) { + try { + var total_uploads = this.getStats().successful_uploads + this.getStats().files_queued; + var percent = Math.ceil((this.getStats().successful_uploads / total_uploads) * 100) + '%'; + + jQuery('#catablog-progress-all-uploads .catablog-progress-bar').width(percent); + jQuery('#catablog-progress-all-uploads .catablog-progress-text').html(percent); + + jQuery('#catablog-progress-current-upload .catablog-progress-bar').width('100%'); + + jQuery('#new-items-editor').append(serverData); + jQuery('#new-items-editor li:last input.title').bind('keypress', catablog_micro_save); + jQuery('#new-items-editor li:last input.button-primary').bind('click', catablog_micro_save); + jQuery('#new-items-editor li:last').show(800); + + } catch(error) { + this.debug(error); + } +} + +function catablog_swfupload_upload_complete(file) { + try { + var total_uploads = this.getStats().successful_uploads + this.getStats().files_queued; + var percent = Math.ceil((this.getStats().successful_uploads / total_uploads) * 100) + '%'; + + jQuery('#catablog-progress-all-uploads .catablog-progress-bar').width(percent); + jQuery('#catablog-progress-all-uploads .catablog-progress-text').html(percent); + + jQuery('#catablog-progress-current-upload .catablog-progress-bar').width('100%'); + + if (this.getStats().files_queued > 0) { + this.startUpload(); + } + + } catch(error) { + this.debug(error); + } +} + + +function catablog_swfupload_file_queued_error(file, error_code, message) { + var string = "File Queue Error:\n"; + // for (p in message) { + // string += p + ": " + message[p]; + // } + string += message; + alert(string); +} + +function catablog_swfupload_upload_error(file, error_code, message) { + var string = "Upload Error:\n"; + string += message; + alert(string); +} diff --git a/src/wp-content/plugins/catablog/js/catablog.lightbox.js b/src/wp-content/plugins/catablog/js/catablog.lightbox.js new file mode 100644 index 0000000..0a10d4b --- /dev/null +++ b/src/wp-content/plugins/catablog/js/catablog.lightbox.js @@ -0,0 +1,553 @@ +jQuery(function($) { + jQuery.fn.catablogLightbox = function(config) { + // PlugIn Variables + var size = this.size(); + var settings = {'size': size}; + if (config) jQuery.extend(settings, config); + + var timeout = null; + + var image_extensions = ['jpg', 'jpeg', 'gif', 'png']; + var hold_click = false; + var lightbox_images = []; + var current_image = -1; + + // PlugIn Construction applied across each selected jQuery object + this.each(function(i) { + + lightbox_images[i] = this; + + if (jQuery(this).get(0).nodeName.toLowerCase() == "a") { + // selected element is an achor tag + + var href = jQuery(this).attr('href'); + var extension = href.split('.').pop().toLowerCase(); + + if (in_array(extension, image_extensions)) { + + jQuery(this).bind('click', function(event) { + current_image = i; + open_lightbox(lightbox_images[i]); + + jQuery('.catablog-selected').removeClass('catablog-selected'); + jQuery(this).addClass('catablog-selected'); + + event.stopPropagation(); + return false; + }); + } + + } + else if (jQuery(this).get(0).nodeName.toLowerCase() == "img") { + // selected element is an image tag + if (typeof(console) !== 'undefined' && console != null) { + console.log('You are using the CataBlog LightBox in an incorrect way, please set the lightbox selector to point at anchor tags surrounding your thumbnail images.'); + } + + jQuery(this).css('cursor','pointer').bind('click', function(event) { + current_image = i; + open_lightbox(lightbox_images[i]); + + jQuery('.catablog-selected').removeClass('catablog-selected'); + jQuery(this).addClass('catablog-selected'); + + event.stopPropagation(); + return false; + }); + + } + else { + // selected element is of an unsupported tag type + if (typeof(console) !== 'undefined' && console != null) { + console.log('You are using the CataBlog LightBox in an incorrect way, please set the lightbox selector to point at anchor tags surrounding your thumbnail images.'); + } + } + + + }); + + // Private Functions + function open_lightbox(element) { + + var support_fixed = supportPositionFixed(); + var curtain_density = 0.85; + var fadein_speed = 0; + var page_top = jQuery(document).scrollTop() + 30; + + // add the curtain div into the DOM + jQuery('body').append("
     
    "); + var curtain = jQuery('#catablog-curtain'); + + // bind the curtain click and fade the curtain into view + curtain.bind('click', function() { + close_lightbox(); + }); + curtain.css('opacity', curtain_density); + + if (!support_fixed) { + var window_height = jQuery(window).height(); + var document_height = jQuery(document).height(); + curtain.css('position', 'absolute'); + curtain.height(document_height); + } + + // if (supportPositionFixed() != true) { + // jQuery('#catablog-curtain').height(jQuery(document).height()); + // } + + + // add the lightbox div into the DOM + jQuery('body').append("
    "); + var lightbox = jQuery('#catablog-lightbox'); + lightbox.css('top', page_top); + + + // MAKE NOTE HERE + lightbox.bind('click', function() { + close_lightbox(); + }); + jQuery('#catablog-whiteboard').bind('click', function(event) { + event.stopPropagation(); + // do not return false, break a:links in whiteboard + }); + + + lightbox.show(); + + load_catablog_image(element); + + + // // load the full size picture and expand the lightbox to fit the images dimensions + // var fullsize_pic = new Image(); + // fullsize_pic.onload = function() { + // var row = jQuery(element).closest('.catablog-row').get(0); + // var meta = calculateMeta(row); + // expand_lightbox(this, meta); + // }; + // fullsize_pic.onerror = function() { + // if (this.src.indexOf("/catablog/originals") < 0) { + // this.src = this.src.replace("/catablog/fullsize", "/catablog/originals");;; + // } + // }; + // + // + // if (element.nodeName.toLowerCase() == 'a') { + // fullsize_pic.src = element.href; + // } + // else { + // fullsize_pic.src = element.src.replace("/catablog/thumbnails", "/catablog/fullsize");;; + // } + + + } + + + function expand_lightbox(img, meta) { + + var lightbox = jQuery('#catablog-whiteboard'); + + var w = img.width; + var h = img.height; + var s = img.src; + + var window_width = jQuery(window).width(); + var window_height = jQuery(window).height(); + + if (w > window_width || h > window_height) { + w_ratio = window_width / w - 0.1; + h_ratio = window_height / h - 0.1; + + if (w_ratio < h_ratio) { + w = w * w_ratio; + h = h * w_ratio; + } + else { + w = w * h_ratio; + h = h * h_ratio; + } + } + + var title = "

    " + meta.title + "

    "; + var description = "

    " + meta.description + "

    "; + var nav = meta.nav; + var close = meta.close + + // attach image and navigation + jQuery(lightbox).append("
    "); + jQuery('#catablog-lightbox-image').height(h); + + if (!jQuery('#catablog-lightbox-image').append("")) { + if (typeof(console) !== 'undefined' && console != null) { + console.log('failed appending image to html dom'); + } + }; + + jQuery('#catablog-lightbox-image img').css({width:w, height:h}); + + jQuery('#catablog-lightbox-image').append(nav); + jQuery('#catablog-lightbox-image a').height(h); + + // attach meta data below image + jQuery(lightbox).append("
    "); + jQuery('#catablog-lightbox-meta').append(title); + jQuery('#catablog-lightbox-meta').append(description); + + jQuery('#catablog-whiteboard').append(close); + + + lightbox.animate({width:w, height:h}, 400, function() { + + jQuery('#catablog-whiteboard').removeClass('loading'); + + var full_height = h + jQuery('#catablog-lightbox-meta').outerHeight(); + + jQuery(this).children('#catablog-lightbox-meta').show(); + jQuery(this).animate({height:full_height}, 400, function() { + hold_click = false; + bindNavigationControls(); + }) + + jQuery('#catablog-lightbox-image').fadeIn(400, function() { + + }); + }); + } + + + function change_lightbox(element) { + + jQuery('#catablog-whiteboard').addClass('loading'); + + var row = jQuery(element).closest('.catablog-row').get(0); + var speed = 150; + + jQuery('#catablog-lightbox-meta').fadeOut(speed, function() { + jQuery(this).remove(); + }); + jQuery('#catablog-lightbox-image').fadeOut(speed, function() { + jQuery(this).remove(); + + + load_catablog_image(element); + + }); + } + + + function load_catablog_image(element) { + var load_attempts = 0; + + var fullsize_pic = new Image(); + fullsize_pic.onload = function() { + var row = jQuery(element).closest('.catablog-row').get(0); + var meta = calculateMeta(row); + expand_lightbox(this, meta); + }; + fullsize_pic.onerror = function() { + load_attempts++; + if (load_attempts < 2) { + this.src = this.src.replace("/catablog/fullsize", "/catablog/originals"); + } + + }; + + if (element.nodeName.toLowerCase() == 'a') { + fullsize_pic.src = element.href; + } + else { + fullsize_pic.src = element.src.replace("/catablog/thumbnails", "/catablog/fullsize");; + } + } + + + function navigate_lightbox(direction) { + if (hold_click) { + return false; + } + + hold_click = true; + unbindNavigationControls(); + + var selected = jQuery('.catablog-selected'); + var new_image = null; + + if (direction == 'next') { + new_image = lightbox_images[current_image + 1]; + if (new_image == undefined) { + current_image = 0; + new_image = lightbox_images[current_image]; + } + current_image += 1; + } + else if (direction == 'prev') { + new_image = lightbox_images[current_image - 1]; + if (new_image == undefined) { + current_image = lightbox_images.length - 1; + new_image = lightbox_images[current_image]; + } + current_image -= 1; + } + + + // check if the new_image is an a tag or its wrapped in an a tag + // if wrapped in an anchor tag, replace new_image with the anchor tag + // if not wrapped in an achor tag, log an error to the console if it exists + if (new_image.nodeName.toLowerCase() != 'a') { + if (jQuery(new_image).closest('a').size() > 0) { + new_image = jQuery(new_image).closest('a').get(0); + } else { + if (new_image.nodeName.toLowerCase() == 'img') { + + } + else { + if (typeof(console) !== 'undefined' && console != null) { + console.log("Could not find the adjacent image because the adjacent .catablog-image element is not an anchor or image tag."); + } + + hold_click = false; + return false; + } + + } + } + + var new_href = ''; + if (new_image.nodeName.toLowerCase() == 'a') { + var new_href = new_image.href; + } + else { + var new_href = new_image.src; + } + + + var new_extension = new_href.split('.').pop().toLowerCase(); + if (in_array(new_extension, image_extensions) == false) { + if (current_image == 0) { + hold_click = false; + navigate_lightbox('next'); + } + else if (current_image == (lightbox_images.length - 1)) { + hold_click = false; + navigate_lightbox('prev'); + } + else { + hold_click = false; + navigate_lightbox(direction); + } + return false; + } + + + new_thumbnail = new_image; + + + + selected.removeClass('catablog-selected'); + jQuery(new_image).addClass('catablog-selected'); + + change_lightbox(new_thumbnail); + } + + + function close_lightbox() { + unbindNavigationControls(); + + var fadeout_speed = 300; + + jQuery('#catablog-curtain').fadeOut(fadeout_speed, function() { + jQuery(this).remove(); + }); + jQuery('#catablog-lightbox').fadeOut(fadeout_speed, function() { + jQuery(this).remove(); + }); + jQuery('.catablog-selected').removeClass('catablog-selected'); + } + + + + function calculateMeta(row) { + var row = jQuery(row); + + if ((typeof js_i18n) == 'undefined') { + var prev_tip = 'You may also press "P" or the left arrow on your keyboard'; + var next_tip = 'You may also press "N" or the right arrow on your keyboard'; + var close_tip = "Close LightBox Now"; + // + var prev_label = "PREV"; + var next_label = "NEXT"; + var close_label = "CLOSE"; + } + else { + var prev_tip = ((typeof js_i18n.prev_tip) == 'undefined')? 'You may also press "P" or the left arrow on your keyboard' : js_i18n.prev_tip; + var next_tip = ((typeof js_i18n.prev_tip) == 'undefined')? 'You may also press "N" or the right arrow on your keyboard' : js_i18n.next_tip; + var close_tip = ((typeof js_i18n.prev_tip) == 'undefined')? 'Close LightBox Now' : js_i18n.close_tip; + // + var prev_label = ((typeof js_i18n.prev_tip) == 'undefined')? "PREV" : js_i18n.prev_label; + var next_label = ((typeof js_i18n.prev_tip) == 'undefined')? "NEXT" : js_i18n.next_label; + var close_label = ((typeof js_i18n.prev_tip) == 'undefined')? "CLOSE" : js_i18n.close_label; + } + + var prev_button = ""+prev_label+""; + var next_button = ""+next_label+""; + var close_button = ""+close_label+""; + + var meta = {}; + + var title = row.find('.catablog-title').html() + var description = row.find('.catablog-description').html(); + + meta.title = (title == null)? "" : title; + meta.description = (description == null)? "" : description; + meta.buynow = ""; + meta.close = close_button; + + meta.nav = ""; + + if (current_image < (lightbox_images.length - 1)) { + meta.nav += next_button; + } + if (current_image > 0) { + meta.nav += prev_button; + } + + return meta; + } + + + + + + /****************************** + ** SUPPORT METHODS + ******************************/ + function supportPositionFixed() { + var isSupported = null; + if (document.createElement) { + var el = document.createElement('div'); + if (el && el.style) { + el.style.position = 'fixed'; + el.style.top = '10px'; + var root = document.body; + if (root && root.appendChild && root.removeChild) { + root.appendChild(el); + isSupported = (el.offsetTop === 10); + root.removeChild(el); + } + } + } + return isSupported; + } + + function bindNavigationControls() { + + // bind next and previous buttons + jQuery('#catablog-lightbox-prev').bind('click', function(event) { + navigate_lightbox('prev'); + return false; + }); + + jQuery('#catablog-lightbox-next').bind('click', function(event) { + navigate_lightbox('next'); + return false; + }); + + + // bind close button + jQuery('#catablog-lightbox-close').bind('click', function(event) { + close_lightbox(); + return false; + }); + jQuery('#catablog-lightbox-close').bind('mouseenter', function(event) { + jQuery(this).addClass('catablog-lightbox-close-hover'); + return false; + }); + jQuery('#catablog-lightbox-close').bind('mouseleave', function(event) { + jQuery(this).removeClass('catablog-lightbox-close-hover'); + return false; + }); + jQuery(document).bind('mousemove', function(event) { + var close_button = jQuery('#catablog-lightbox-close'); + + if (close_button.is(':hidden')) { + close_button.css('zIndex', 10800); + close_button.fadeIn(50); + } + else { + hideCloseButtonTimer(close_button); + } + + + + }); + + // bind keyboard shortcuts + jQuery(document).bind('keyup', function(event) { + var key_code = (event.keyCode ? event.keyCode : event.which); + + var forward_keycodes = [39, 78, 83]; + var back_keycodes = [37, 80, 65]; + var escape_keycodes = [27]; + + if (in_array(key_code, forward_keycodes)) { + jQuery('#catablog-lightbox-next').click(); + } + if (in_array(key_code, back_keycodes)) { + jQuery('#catablog-lightbox-prev').click(); + } + if (in_array(key_code, escape_keycodes)) { + close_lightbox(); + } + }); + } + + function unbindNavigationControls() { + jQuery('#catablog-lightbox-prev').unbind('click'); + jQuery('#catablog-lightbox-next').unbind('click'); + jQuery('#catablog-lightbox-close').unbind('click'); + jQuery(document).unbind('mousemove'); + jQuery(document).unbind('keyup'); + + jQuery('#catablog-lightbox-close').fadeOut(200); + } + + function hideCloseButtonTimer(obj) { + clearTimeout(timeout); + timeout = setTimeout(function() { + if (obj.hasClass('catablog-lightbox-close-hover')) { + hideCloseButtonTimer(obj); + } + else { + obj.fadeOut(200); + } + }, 1500); + } + + function in_array (needle, haystack, argStrict) { + var key = '', strict = !!argStrict; + + if (strict) { + for (key in haystack) { + if (haystack[key] === needle) { + return true; + } + } + } else { + for (key in haystack) { + if (haystack[key] == needle) { + return true; + } + } + } + + return false; + } + + + + + return this; + }; +}); + + + diff --git a/src/wp-content/plugins/catablog/lib/CataBlog.class.php b/src/wp-content/plugins/catablog/lib/CataBlog.class.php new file mode 100644 index 0000000..e73038e --- /dev/null +++ b/src/wp-content/plugins/catablog/lib/CataBlog.class.php @@ -0,0 +1,2640 @@ + + * @version 1.2.9.7 + * @package catablog + */ + +/** + * CataBlog, the core class that creates the custom post type and taxonomy, + * has the admin and frontend controller and most database manipulation. + * + * @package catablog + * @author Zachary Segal + */ +class CataBlog { + + // plugin version number and blog url + private $version = "1.2.9.7"; + private $blog_url = 'http://catablog.illproductions.com/'; + private $debug = false; + + // wordpress custom post and taxonomy labels + private $custom_post_name = "catablog-items"; + private $custom_tax_name = "catablog-terms"; + + // wordpress database options + private $options = array(); + private $options_name = 'catablog-options'; + + // user permission requirements + private $user_level = 'edit_pages'; + + // default image sizes TO BE DELETED + private $default_thumbnail_size = 100; + private $default_image_size = 600; + private $default_bg_color = "#ffffff"; + + // two private arrays for storing common file paths + public $directories = array(); + public $urls = array(); + + // default term name and variables to cache fetched terms from the database + private $terms = NULL; + private $default_term = NULL; + private $default_term_name = "Uncategorized"; + + // wether to load frontend css and js files + private $load_support_files = true; + private $wp_messages = array(); + private $wp_error_messages = array(); + + public function __construct() { + // get plugin options from wp database + $this->options = $this->get_options(); + + $wp_upload_dir = wp_upload_dir(); + $upload_directory = $wp_upload_dir['baseurl']; + if (is_ssl()) { + $upload_directory = str_replace('http://', 'https://', $wp_upload_dir['baseurl']); + } + + // define common directories and files for the plugin + $this->plugin_file = WP_CONTENT_DIR . "/plugins/catablog/catablog.php"; + $this->directories['plugin'] = WP_CONTENT_DIR . "/plugins/catablog"; + $this->directories['css'] = WP_CONTENT_DIR . "/plugins/catablog/css"; + $this->directories['template'] = WP_CONTENT_DIR . "/plugins/catablog/templates"; + $this->directories['views'] = WP_CONTENT_DIR . "/plugins/catablog/templates/views"; + $this->directories['buttons'] = WP_CONTENT_DIR . "/plugins/catablog/templates/buttons"; + $this->directories['languages'] = WP_CONTENT_DIR . "/plugins/localization"; + + $this->directories['wp_uploads'] = $wp_upload_dir['basedir']; + $this->directories['uploads'] = $wp_upload_dir['basedir'] . "/catablog"; + $this->directories['originals'] = $wp_upload_dir['basedir'] . "/catablog/originals"; + $this->directories['thumbnails'] = $wp_upload_dir['basedir'] . "/catablog/thumbnails"; + $this->directories['fullsize'] = $wp_upload_dir['basedir'] . "/catablog/fullsize"; + + // define commen urls for the plugin + $this->urls['plugin'] = content_url() . "/plugins/catablog"; + $this->urls['css'] = content_url() . "/plugins/catablog/css"; + $this->urls['javascript'] = content_url() . "/plugins/catablog/js"; + $this->urls['images'] = content_url() . "/plugins/catablog/images"; + $this->urls['template'] = content_url() . "/plugins/catablog/templates"; + $this->urls['views'] = content_url() . "/plugins/catablog/templates/views"; + $this->urls['buttons'] = content_url() . "/plugins/catablog/templates/buttons"; + + $this->urls['originals'] = $upload_directory . "/catablog/originals"; + $this->urls['thumbnails'] = $upload_directory . "/catablog/thumbnails"; + $this->urls['fullsize'] = $upload_directory . "/catablog/fullsize"; + } + + public function getCustomPostName() { + return $this->custom_post_name; + } + + public function getCustomTaxName() { + return $this->custom_tax_name; + } + + + + + /***************************************************** + ** - WORDPRESS HOOKS + *****************************************************/ + public function registerWordPressHooks() { + // register custom post type and taxonomy + add_action('init', array(&$this, 'initialize_plugin'), 0); + + // register custom menus in the Admin Menu Bar + add_action('admin_bar_menu', array(&$this, 'admin_bar_menu'), 100); + add_action('admin_bar_menu', array(&$this, 'admin_bar_edit_button'), 20); + // register admin hooks + if (is_admin()) { + + // register admin menus, stylesheets and javascript libraries + add_action('admin_menu', array(&$this, 'admin_menu')); + add_action('admin_print_styles', array(&$this, 'admin_print_styles')); + add_action('admin_enqueue_scripts', array(&$this, 'admin_enqueue_scripts')); + + // register help and screen settings panel + add_filter('screen_settings', array(&$this, 'screen_settings'), 10, 2); + add_filter('contextual_help', array(&$this, 'contextual_help'), 10, 2); + + $catablog_page = strpos($_SERVER['QUERY_STRING'], 'page=catablog') !== false; + $catablog_remove_page = strpos($_SERVER['QUERY_STRING'], 'page=catablog-remove') !== false; + + if ($catablog_page) { + add_action('admin_init', array(&$this, 'admin_init')); + } + + if ($catablog_page && !$catablog_remove_page) { + add_action('init', array(&$this, 'setup'), 1); + } + + if (!$catablog_remove_page) { + add_action('init', array(&$this, 'upgrade'), 2); + } + + // register admin ajax actions + // add_action('wp_ajax_catablog_reorder', array($this, 'ajax_reorder_items')); + add_action('wp_ajax_catablog_micro_save', array($this, 'ajax_micro_save')); + add_action('wp_ajax_catablog_update_screen_settings', array($this, 'ajax_update_screen_settings')); + + add_action('wp_ajax_catablog_new_category', array($this, 'ajax_new_category')); + add_action('wp_ajax_catablog_delete_category', array($this, 'ajax_delete_category')); + + add_action('wp_ajax_catablog_flush_fullsize', array($this, 'ajax_flush_fullsize')); + add_action('wp_ajax_catablog_render_images', array(&$this, 'ajax_render_images')); + + add_action('wp_ajax_catablog_delete_subimage', array(&$this, 'ajax_delete_subimage')); + add_action('wp_ajax_catablog_delete_library', array(&$this, 'ajax_delete_library')); + add_action('wp_ajax_catablog_delete_system', array(&$this, 'ajax_delete_system')); + } + + // register frontend hooks + else { + add_action('wp_enqueue_scripts', array(&$this, 'frontend_init')); + add_action('wp_head', array(&$this, 'frontend_header')); + add_action('wp_footer', array(&$this, 'frontend_footer')); + add_shortcode('catablog', array(&$this, 'frontend_content')); + + // add content and excerpt filters if the public feature is enabled + $public_posts_enabled = (isset($this->options['public_posts']))? $this->options['public_posts'] : false; + if ($public_posts_enabled) { + add_filter('the_content', array(&$this, 'frontend_single_filter_content'), 12); + add_filter('the_excerpt', array(&$this, 'frontend_single_filter_content'), 12); + } + } + } + + + + + + + + + + /***************************************************** + ** - REGISTER CUSTOM POST TYPE + *****************************************************/ + public function initialize_plugin() { + + // load in i18n file + load_plugin_textdomain('catablog', false, '/catablog/localization'); + $this->default_term_name = __("Uncategorized", "catablog"); + + + // attempt to load public settings, default to private if options not available + $public_posts_enabled = (isset($this->options['public_posts']))? $this->options['public_posts'] : false; + $public_posts_slug = (isset($this->options['public_post_slug']))? array('slug'=>$this->options['public_post_slug']) : true; + $public_tax_slug = (isset($this->options['public_tax_slug']))? array('slug'=>$this->options['public_tax_slug']) : true; + + + // create the custom post type + $params['label'] = __("CataBlog Item", 'catablog'); + $params['public'] = $public_posts_enabled; + $params['show_ui'] = false; + $params['show_in_nav_menus'] = false; + $params['supports'] = array('title', 'editor'); + $params['description'] = __("A Catalog Item, generated by CataBlog.", 'catablog'); + $params['hierarchical'] = false; + $params['taxonomies'] = array($this->custom_tax_name); + $params['menu_position'] = 45; + $params['menu_icon'] = $this->urls['plugin']."/images/catablog-icon-16.png"; + $params['rewrite'] = $public_posts_slug; + register_post_type($this->custom_post_name, $params); + + + // create the custom taxonomy + $params = array(); + $params['label'] = __("CataBlog Category", 'catablog'); + $params['public'] = $public_posts_enabled; + $params['show_ui'] = false; + $params['show_tagcloud'] = true; + $params['hierarchical'] = false; + $params['rewrite'] = $public_tax_slug; + register_taxonomy($this->custom_tax_name, $this->custom_post_name, $params); + + } + + + + + + + + + + + + + + /***************************************************** + ** - ADMIN MENU AND HOOKS + *****************************************************/ + public function admin_init() { + + + // go straigt to create new item action, no interface + if(strpos($_SERVER['QUERY_STRING'], 'catablog-create') !== false) { + $this->admin_create(true); + } + + // go straigt to save item action, no interface + if(strpos($_SERVER['QUERY_STRING'], 'catablog-save') !== false) { + $this->admin_save(true); + } + + // go straigt to delete item action, no interface + if(strpos($_SERVER['QUERY_STRING'], 'catablog-delete') !== false) { + $this->admin_delete(true); + } + + // go straigt to bulk edit item action, no interface + if(strpos($_SERVER['QUERY_STRING'], 'catablog-bulkedit') !== false) { + $this->admin_bulk_edit(true); + } + + // if export action is being called go directly to admin_export method + if(strpos($_SERVER['QUERY_STRING'], 'catablog-export') !== false) { + $this->admin_export(); + } + + // go striaght to replace main image action + if(strpos($_SERVER['QUERY_STRING'], 'catablog-replace-image') !== false) { + $this->admin_replace_main_image(true); + } + + // go straight to add subimage action + if(strpos($_SERVER['QUERY_STRING'], 'catablog-add-subimage') !== false) { + $this->admin_add_subimage(true); + } + + + // set cookie to remember the admin view settings + if(isset($_GET['page']) && $_GET['page'] == 'catablog') { + $options = array('sort', 'order', 'view'); + foreach ($options as $option) { + if(isset($_GET[$option])) { + setCookie("catablog-view-cookie[$option]", $_REQUEST[$option], (time()+36000000)); + } + + } + // remove old view cookie if still present + setCookie("catablog-view-cookie", false, (time() - 36000)); + } + } + + public function admin_menu() { + // register main plugin menu + add_menu_page("CataBlog Library", "CataBlog", $this->user_level, 'catablog', array(&$this, 'admin_library'), $this->urls['plugin']."/images/catablog-icon-16.png"); + + // register main plugin pages + add_submenu_page('catablog', __("CataBlog Library", 'catablog'), __('Library', 'catablog'), $this->user_level, 'catablog', array(&$this, 'admin_library')); + add_submenu_page('catablog', __("Add New CataBlog Entry", 'catablog'), __('Add New', 'catablog'), $this->user_level, 'catablog-upload', array(&$this, 'admin_new')); + add_submenu_page('catablog', __("CataBlog Options", 'catablog'), __('Options', 'catablog'), $this->user_level, 'catablog-options', array(&$this, 'admin_options')); + add_submenu_page('catablog', __("About CataBlog", 'catablog'), __('About', 'catablog'), $this->user_level, 'catablog-about', array(&$this, 'admin_about')); + + // register create/edit/delete catalog item actions + add_submenu_page('catablog-hidden', "Create CataBlog Item", "Create", $this->user_level, 'catablog-create', array(&$this, 'admin_create')); + add_submenu_page('catablog-hidden', "Save CataBlog Item", "Save", $this->user_level, 'catablog-save', array(&$this, 'admin_save')); + add_submenu_page('catablog-hidden', "Delete CataBlog Item", "Delete", $this->user_level, 'catablog-delete', array(&$this, 'admin_delete')); + add_submenu_page('catablog-hidden', "Bulk Edit CataBlog Items", "Bulk", $this->user_level, 'catablog-bulkedit', array(&$this, 'admin_bulk_edit')); + add_submenu_page('catablog-hidden', "Replace Main Image", "Replace", $this->user_level, 'catablog-replace-image', array(&$this, 'admin_replace_main_image')); + add_submenu_page('catablog-hidden', "Add SubImage", "SubImage", $this->user_level, 'catablog-add-subimage', array(&$this, 'admin_add_subimage')); + + // register import/export page actions to hidden menu + add_submenu_page('catablog-hidden', "CataBlog Import", "Import", $this->user_level, 'catablog-import', array(&$this, 'admin_import')); + add_submenu_page('catablog-hidden', "CataBlog Export", "Export", $this->user_level, 'catablog-export', array(&$this, 'admin_export')); + add_submenu_page('catablog-hidden', "CataBlog Unlock Folders", "Unlock Folders", $this->user_level, 'catablog-unlock-folders', array(&$this, 'admin_unlock_folders')); + add_submenu_page('catablog-hidden', "CataBlog Lock Folders", "Lock Folders", $this->user_level, 'catablog-lock-folders', array(&$this, 'admin_lock_folders')); + add_submenu_page('catablog-hidden', "CataBlog Regenerate Images", "Regenerate Images", $this->user_level, 'catablog-regenerate-images', array(&$this, 'admin_regenerate_images')); + add_submenu_page('catablog-hidden', "CataBlog Rescan Images", "Rescan Images Folder", $this->user_level, 'catablog-rescan-images', array(&$this, 'admin_rescan_images')); + add_submenu_page('catablog-hidden', "CataBlog Clear Old Data", "Clear Old Data", $this->user_level, 'catablog-clear-old-data', array(&$this, 'admin_clear_old_database')); + + // register about page actions to hidden menu + // add_submenu_page('catablog-hidden', "CataBlog Install", "Install", $this->user_level, 'catablog-install', array(&$this, 'admin_install')); + add_submenu_page('catablog-hidden', "CataBlog Remove", "Remove", $this->user_level, 'catablog-remove', array(&$this, 'admin_remove_all')); + } + + + public function admin_print_styles() { + $catablog_page = strpos($_SERVER['QUERY_STRING'], 'page=catablog') !== false; + if ($catablog_page) { + wp_enqueue_style('farbtastic'); + wp_enqueue_style('catablog-admin-css', $this->urls['css'] . '/catablog-admin.css', false, $this->version); + } + } + + + public function admin_enqueue_scripts() { + $catablog_page = strpos($_SERVER['QUERY_STRING'], 'page=catablog') !== false; + if ($catablog_page) { + wp_enqueue_script('jquery'); + wp_enqueue_script('jquery-ui-sortable'); + wp_enqueue_script('farbtastic'); + wp_enqueue_script('catablog-admin', $this->urls['javascript'] . '/catablog-admin.js', array('jquery'), $this->version); + } + + $catablog_upload_page = strpos($_SERVER['QUERY_STRING'], 'page=catablog-upload') !== false; + if ($catablog_page) { + wp_enqueue_script('swfupload'); + wp_enqueue_script('swfobject'); + wp_enqueue_script('catablog-handlers', $this->urls['javascript'] . '/catablog.handlers.js', array('jquery'), '1.0'); + } + } + + public function admin_bar_edit_button() { + global $post; + + if ($post->post_type == $this->custom_post_name) { + global $wp_admin_bar; + $wp_admin_bar->add_menu( array( 'id' => 'edit-catablog-entry', 'title' => __('Edit CataBlog Entry', 'catablog'), 'href' => get_admin_url(null, 'admin.php?page=catablog&id='.$post->ID), ) ); + } + } + + public function admin_bar_menu() { + global $wp_admin_bar; + + // add a CataBlog menu to the Admin Menu Bar + $wp_admin_bar->add_menu( array( 'id' => 'catablog-menu', 'title' => __( 'CataBlog' ), 'href' => get_admin_url(null, 'admin.php?page=catablog'), ) ); + $wp_admin_bar->add_menu( array( 'parent' => 'catablog-menu', 'id' => 'catablog-library', 'title' => __( 'Library', 'catablog' ), 'href' => get_admin_url(null, 'admin.php?page=catablog'), ) ); + $wp_admin_bar->add_menu( array( 'parent' => 'catablog-menu', 'id' => 'catablog-new-entry', 'title' => __( 'Add New', 'catablog' ), 'href' => get_admin_url(null, 'admin.php?page=catablog-upload'), ) ); + $wp_admin_bar->add_menu( array( 'parent' => 'catablog-menu', 'id' => 'catablog-options', 'title' => __( 'Options', 'catablog' ), 'href' => get_admin_url(null, 'admin.php?page=catablog-options'), ) ); + $wp_admin_bar->add_menu( array( 'parent' => 'catablog-menu', 'id' => 'catablog-about', 'title' => __( 'About', 'catablog' ), 'href' => get_admin_url(null, 'admin.php?page=catablog-about'), ) ); + + // add a CataBlog Entry sub menu item to the Admin Menu Bar Add New menu + $wp_admin_bar->add_menu( array( 'parent' => 'new-content', 'id' => 'new-catablog-entry', 'title' => __( 'CataBlog Entry', 'catablog' ), 'href' => get_admin_url(null, 'admin.php?page=catablog-upload'), ) ); + + } + + + public function screen_settings($current, $screen) { + if (!isset($screen->id)) { + return false; + } + + + if ($screen->id == 'toplevel_page_catablog') { + ob_start(); + include_once($this->directories['template'] . '/admin-screen-options-library.php'); + return ob_get_clean(); + } + + } + + + public function contextual_help($contextual_help, $screen) { + if (!isset($screen)) { + return false; + } + + if (strpos($screen, 'catablog') !== false) { + ob_start(); + include_once($this->directories['template'] . '/admin-contextual-help.php'); + return ob_get_clean(); + } + + return $contextual_help; + } + + + + + + + + + + + + + + /***************************************************** + ** - ADMIN PAGES + *****************************************************/ + + public function admin_library() { + + + // if id is set show edit form + if (isset($_GET['id'])) { + $this->admin_edit(); + return false; + } + + // order and pagination defaults + $sort = 'date'; + $order = 'desc'; + $paged = 1; + $offset = 0; + $limit = 20; + $category_filter = false; + + + $user = wp_get_current_user(); + $screen_settings = get_user_meta($user->ID, 'catablog_screen_settings', true); + + if (is_numeric($screen_settings['limit'])) { + $limit = $screen_settings['limit']; + } + + if (!is_array($screen_settings['hide-columns'])) { + $screen_settings['hide-columns'] = array(); + } + + $table_columns = array('description', 'link', 'price', 'product_code', 'categories', 'order', 'date'); + foreach ($table_columns as $table_column) { + // creates variable names like $description_col_class + if (in_array($table_column, $screen_settings['hide-columns'])) { + ${$table_column."_col_class"} = "hide"; + } + else { + ${$table_column."_col_class"} = ""; + } + } + + + $selected_term = false;//$this->get_default_term(); + if (isset($_GET['category']) && is_numeric($_GET['category'])) { + if ($_GET['category'] > 0) { + $selected_term = get_term_by('id', $_GET['category'], $this->custom_tax_name); + } + } + + if (isset($_GET['sort'])) { + $sort = $_GET['sort']; + } + + if (isset($_GET['order'])) { + $order = $_GET['order']; + } + + if (isset($_GET['paged'])) { + $page_number = (int) $_GET['paged']; + $paged = $page_number; + } + + + if ($selected_term) { + $category_filter = array($selected_term->term_id); + } + + $sort = 'date'; + $order = 'asc'; + $view = 'list'; + if (isset($_COOKIE['catablog-view-cookie'])) { + $cookie = $_COOKIE['catablog-view-cookie']; + $sort = $cookie['sort']; + $order = $cookie['order']; + $view = $cookie['view']; + + if (is_array($cookie)) { + foreach ($cookie as $key => $value) { + if (isset($_GET[$key])) { + ${$key} = $_GET[$key]; + } + } + } + } + + // pagination variables + // echo $current_page = ($paged == 0)? 1 : $paged; + $total_catalog_items = wp_count_posts($this->custom_post_name)->publish; + $category_get_param = ""; + + if ($selected_term) { + $total_catalog_items = $selected_term->count; + $category_get_param = "&category=" . $selected_term->term_id; + } + + + $total_catalog_pages = ceil($total_catalog_items / $limit); + + if ($paged < 1) { + $paged = 1; + } + if ($paged > $total_catalog_pages) { + $paged = $total_catalog_pages; + } + + $first_catalog_page_link = "?page=catablog$category_get_param"; + $prev_catalog_page_link = "?page=catablog$category_get_param&paged=" . (($paged > 1)? ($paged - 1) : 1); + $next_catalog_page_link = "?page=catablog$category_get_param&paged=" . (($paged < $total_catalog_pages)? ($paged + 1) : $total_catalog_pages); + $last_catalog_page_link = "?page=catablog$category_get_param&paged=" . $total_catalog_pages; + + $offset = ($paged - 1) * $limit; + + $results = CataBlogItem::getItems($category_filter, 'IN', $sort, $order, $offset, $limit); + + if (isset($_GET['message'])) { + switch ($_GET['message']) { + case 1: + $this->wp_message(__("Changes Saved Successfully.", 'catablog')); + break; + case 2: + $this->wp_message(__("Catalog Item Deleted Successfully.", 'catablog')); + break; + case 3: + $this->wp_error(__("Could Not Delete Item Because ID was non existent.", 'catablog')); + break; + case 4: + $this->wp_error(__('Could not verify bulk edit action nonce, please refresh page and try again.', 'catablog')); + break; + case 5: + $this->wp_message(__('Bulk categories edit performed successfully.', 'catablog')); + break; + case 6: + $this->wp_message(__('Bulk delete performed successfully.', 'catablog')); + break; + case 7: + $this->wp_message(__('Reset all data successfully.', 'catablog')); + } + } + + + include_once($this->directories['template'] . '/admin-library.php'); + } + + public function admin_edit() { + if (isset($_GET['id'])) { + + if (isset($_GET['message'])) { + switch ($_GET['message']) { + case 1: + + $message = __("Changes Saved Successfully.", 'catablog'); + + if ($this->options['public_posts']) { + $permalink = get_permalink($_GET['id']); + $message .= sprintf(" (%s)", __("View Now")); + } + + $this->wp_message($message); + break; + } + } + + + $result = CataBlogItem::getItem($_GET['id']); + if (!$result) { + include_once($this->directories['template'] . '/admin-404.php'); + return false; + } + + include_once($this->directories['template'] . '/admin-edit.php'); + } + } + + public function admin_new() { + if (function_exists('is_upload_space_available') && is_upload_space_available() == false) { + include_once($this->directories['template'] . '/admin-discfull.php'); + } + else { + include_once($this->directories['template'] . '/admin-new.php'); + } + } + + public function admin_options() { + $recalculate = false; + $recalculate_thumbnails = false; + $recalculate_fullsize = false; + + if (isset($_REQUEST['save'])) { + $nonce_verified = wp_verify_nonce( $_REQUEST['_catablog_options_nonce'], 'catablog_options' ); + if ($nonce_verified) { + + // strip slashes from post values + $post_vars = array_map('stripslashes_deep', $_POST); + $post_vars = array_map('trim', $post_vars); + + // transform link target and rel value so it only contains alphanumeric, hyphen, underscore + // $post_vars['link_target'] = preg_replace('/[^a-z0-9_-]/', '', $post_vars['link_target']); + // $post_vars['link_relationship'] = preg_replace('/[^a-z0-9_-]/', '', $post_vars['link_relationship']); + + // transform catalog slugs + if ($this->string_length($post_vars['public_post_slug']) > 0) { + $post_vars['public_post_slug'] = sanitize_title_with_dashes($post_vars['public_post_slug']); + } + else { + $post_vars['public_post_slug'] = $this->custom_post_name; + } + if ($this->string_length($post_vars['public_tax_slug']) > 0) { + $post_vars['public_tax_slug'] = sanitize_title_with_dashes($post_vars['public_tax_slug']); + } + else { + $post_vars['public_tax_slug'] = $this->custom_tax_name; + } + + + // set default values for post message and image recalculation + $save_message = __("CataBlog Options Saved", 'catablog'); + + // get image size and rendering differences + $image_size_different = $post_vars['thumbnail_size'] != $this->options['thumbnail-size']; + $bg_color_different = $post_vars['bg_color'] != $this->options['background-color']; + $keep_ratio_different = isset($post_vars['keep_aspect_ratio']) != $this->options['keep-aspect-ratio']; + $fullsize_different = $post_vars['lightbox_image_size'] != $this->options['image-size']; + + // set recalculation of thumbnails and update post message + if ($image_size_different || $bg_color_different || $keep_ratio_different) { + $recalculate_thumbnails = true; + } + + // set recalculation of fullsize images and update post message + if (isset($post_vars['lightbox_render'])) { + $fullsize_dir = new CataBlogDirectory($this->directories['fullsize']); + if ($fullsize_different || $fullsize_dir->getCount() < 1) { + $recalculate_fullsize = true; + } + } + + // save new plugins options to database + $this->options['thumbnail-size'] = $post_vars['thumbnail_size']; + $this->options['image-size'] = $post_vars['lightbox_image_size']; + $this->options['lightbox-enabled'] = isset($post_vars['lightbox_enabled']); + $this->options['lightbox-render'] = isset($post_vars['lightbox_render']); + $this->options['lightbox-selector'] = $post_vars['lightbox_selector']; + $this->options['background-color'] = $post_vars['bg_color']; + $this->options['paypal-email'] = $post_vars['paypal_email']; + $this->options['keep-aspect-ratio'] = isset($post_vars['keep_aspect_ratio']); + $this->options['link-target'] = strip_tags($post_vars['link_target']); + $this->options['link-relationship'] = strip_tags($post_vars['link_relationship']); + $this->options['view-theme'] = $post_vars['view-code-template']; + $this->options['view-buynow'] = $post_vars['view-code-buynow']; + $this->options['filter-description'] = isset($post_vars['wp-filters-enabled']); + $this->options['nl2br-description'] = isset($post_vars['nl2br-enabled']); + $this->options['public_posts'] = isset($post_vars['public_posts']); + $this->options['public_post_slug'] = $post_vars['public_post_slug']; + $this->options['public_tax_slug'] = $post_vars['public_tax_slug']; + + $this->save_wp_options(); + + // recalculate thumbnail and fullsize images if necessary + if ($recalculate_thumbnails || $recalculate_fullsize) { + $save_message .= " - "; + $save_message .= __("Please Let The Rendering Below Complete Before Navigating Away From This Page", 'catablog'); + + delete_transient('dirsize_cache'); // WARNING!!! transient label hard coded. + + $items = CataBlogItem::getItems(); + $image_names = array(); + + foreach ($items as $item) { + $image_names[] = $item->getImage(); + foreach ($item->getSubImages() as $image) { + $image_names[] = $image; + } + } + } + + + // TODO: flush the rewrite rules if the catalog slug options have been updated + + + $this->wp_message($save_message); + } + else { + $this->wp_error(__('Form Validation Error. Please reload the page and try again.', 'catablog')); + } + } + + $thumbnail_size = $this->options['thumbnail-size']; + $lightbox_size = $this->options['image-size']; + $lightbox_enabled = $this->options['lightbox-enabled']; + $lightbox_render = $this->options['lightbox-render']; + $lightbox_selector = $this->options['lightbox-selector']; + $background_color = $this->options['background-color']; + $paypal_email = $this->options['paypal-email']; + $keep_aspect_ratio = $this->options['keep-aspect-ratio']; + $link_target = $this->options['link-target']; + $link_relationship = $this->options['link-relationship']; + $wp_filters_enabled = $this->options['filter-description']; + $nl2br_enabled = $this->options['nl2br-description']; + $public_posts_enabled = $this->options['public_posts']; + $public_posts_slug = $this->options['public_post_slug']; + $public_tax_slug = $this->options['public_tax_slug']; + + include_once($this->directories['template'] . '/admin-options.php'); + } + + public function admin_about() { + global $wpdb; + + $thumbnail_size = __('not present', 'catablog'); + $fullsize_size = __('not present', 'catablog'); + $original_size = __('not present', 'catablog'); + + $thumb_dir = new CataBlogDirectory($this->directories['thumbnails']); + $fullsize_dir = new CataBlogDirectory($this->directories['fullsize']); + $original_dir = new CataBlogDirectory($this->directories['originals']); + + if ($thumb_dir->isDirectory()) { + $thumbnail_size = round(($thumb_dir->getDirectorySize() / (1024 * 1024)), 2) . " MB"; + } + if ($fullsize_dir->isDirectory()) { + $fullsize_size = round(($fullsize_dir->getDirectorySize() / (1024 * 1024)), 2) . " MB"; + } + if ($original_dir->isDirectory()) { + $original_size = round(($original_dir->getDirectorySize() / (1024 * 1024)), 2) . " MB"; + } + + $stats = array(); + $stats['CataBlog_Version'] = $this->version; + $stats['MySQL_Version'] = $wpdb->get_var("SELECT version()"); + $stats['PHP_Version'] = phpversion(); + + $stats['PHP_Memory_Usage'] = round((memory_get_peak_usage(true) / (1024 * 1024)), 2) . " MB"; + $stats['PHP_Memory_Limit'] = preg_replace('/[^0-9]/', '', ini_get('memory_limit')) . " MB"; + + $stats['Max_Uploaded_File_Size'] = ini_get('upload_max_filesize'); + $stats['Max_Post_size'] = ini_get('post_max_size'); + + $stats['Thumbnail_Disc_Usage'] = $thumbnail_size; + $stats['Full_Size_Disc_Usage'] = $fullsize_size; + $stats['Original_Upload_Disc_Usage'] = $original_size; + $stats['Total_Disc_Usage'] = (round($thumbnail_size, 2) + round($fullsize_size, 2) + round($original_size, 2)) . " MB"; + + include_once($this->directories['template'] . '/admin-about.php'); + } + + + + + + + + + + + + + + + /***************************************************** + ** - ADMIN ACTIONS + *****************************************************/ + public function admin_create($init_run=false) { + $error = false; + + $new_item = new CataBlogItem(); + $nonce_verified = wp_verify_nonce( $_REQUEST['_catablog_create_nonce'], 'catablog_create' ); + if ($nonce_verified) { + + $tmp_name = $_FILES['new_image']['tmp_name']; + + if ($this->string_length($tmp_name) > 0) { + $validate = $new_item->validateImage($tmp_name); + if ($validate === true) { + + $new_item_title = $_FILES['new_image']['name']; + $new_item_title = preg_replace('/\.[^.]+$/','',$new_item_title); + $new_item_title = str_replace(array('_','-','.'), ' ', $new_item_title); + $new_item_order = wp_count_posts($this->custom_post_name)->publish + 1; + + $new_item->setOrder($new_item_order); + $new_item->setTitle($new_item_title); + + $new_item->setImage($tmp_name); + $new_item->setSubImages(array()); + + $default_term = $this->get_default_term(); + $new_item->setCategories(array($default_term->term_id=>$default_term->name)); + + $new_item->save(); + + // wp_redirect( self_admin_url("admin.php?page=catablog&id=".$new_item->getId()) ); + header('Location: admin.php?page=catablog&id=' . $new_item->getId()); die; + } + else { + $error = $validate; + } + } + else { + $error = __("The file you selected was to large or you didn't select anything at all, please try again.", 'catablog'); + } + } + else { + $error = __("WordPress Nonce Error, please reload the form and try again.", 'catablog'); + } + + if (!$init_run && $error !== false) { + $this->wp_error($error); + include_once($this->directories['template'] . '/admin-new.php'); + } + } + + + public function admin_save($init_run=false) { + $error = false; + + if (isset($_POST['save'])) { + $nonce_verified = wp_verify_nonce( $_REQUEST['_catablog_save_nonce'], 'catablog_save' ); + if ($nonce_verified) { + $post_vars = $_POST; + $post_vars = array_map('stripslashes_deep', $post_vars); + + $trim_fields = array('title', 'description', 'link', 'price', 'product_code'); + foreach ($trim_fields as $field) { + $post_vars[$field] = trim($post_vars[$field]); + } + + $post_vars['categories'] = (isset($post_vars['categories']))? $post_vars['categories'] : array(); + foreach ($post_vars['categories'] as $key => $value) { + $post_vars['categories'][$key] = (integer) $value; + } + + if (!isset($post_vars['sub_images'])) { + $post_vars['sub_images'] = array(); + } + + $result = new CataBlogItem($post_vars); + $validate = $result->validate(); + if ($validate === true) { + $write = $result->save(); + if ($write === true) { + // wp_redirect( self_admin_url("admin.php?page=catablog&message=1") ); + header('Location: admin.php?page=catablog&id=' . $result->getId() . '&message=1'); die; + // header('Location: admin.php?page=catablog&id=' . $result->getId() . '&message=1'); die; + } + else { + $error = $write; + } + + } + else { + $error = $validate; + } + } + else { + $error = __("WordPress Nonce Error, please reload the form and try again.", 'catablog'); + } + } + else { + $error = __("full form was not submitted, please try again.", 'catablog'); + } + + if (!$init_run && $error) { + $this->wp_error($error); + include_once($this->directories['template'] . '/admin-edit.php'); + return true; + } + } + + public function admin_replace_main_image($init_run=false) { + $error = false; + + if (is_numeric($_POST['id'])) { + $result = CataBlogItem::getItem($_POST['id']); + $nonce_verified = wp_verify_nonce( $_REQUEST['_catablog_replace_image_nonce'], 'catablog_replace_image' ); + if ($nonce_verified) { + + $tmp_name = $_FILES['new_image']['tmp_name']; + + if ($this->string_length($tmp_name) > 0) { + $validate = $result->validateImage($tmp_name); + if ($validate === true) { + + $to_delete = array(); + $to_delete["original"] = $this->directories['originals'] . "/" . $result->getImage(); + $to_delete["thumbnail"] = $this->directories['thumbnails'] . "/" . $result->getImage(); + $to_delete["fullsize"] = $this->directories['fullsize'] . "/" . $result->getImage(); + foreach ($to_delete as $file) { + if (is_file($file)) { + unlink($file); + } + } + + $result->setImage($tmp_name); + $result->save(); + + header('Location: admin.php?page=catablog&id=' . $_POST['id']); die; + } + else { + $error = $validate; + } + } + else { + $error = __("You didn't select anything to upload, please try again.", 'catablog'); + } + } + else { + $error = __("WordPress Nonce Error, please reload the form and try again.", 'catablog'); + } + } + else { + $error = __("No item ID posted, press back arrow and try again.", 'catablog'); + } + + if (!$init_run && $error !== false) { + $this->wp_error($error); + include_once($this->directories['template'] . '/admin-edit.php'); + } + } + + public function admin_add_subimage($init_run=false) { + $error = false; + + if (is_numeric($_POST['id'])) { + $result = CataBlogItem::getItem($_POST['id']); + $nonce_verified = wp_verify_nonce( $_REQUEST['_catablog_add_subimage_nonce'], 'catablog_add_subimage' ); + if ($nonce_verified) { + + $tmp_name = $_FILES['new_sub_image']['tmp_name']; + + if ($this->string_length($tmp_name) > 0) { + $validate = $result->validateImage($tmp_name); + if ($validate === true) { + $result->addSubImage($tmp_name); + header('Location: admin.php?page=catablog&id=' . $_POST['id']); die; + } + else { + $error = $validate; + } + } + else { + $error = __("You didn't select anything to upload, please try again.", 'catablog'); + } + } + else { + $error = __("WordPress Nonce Error, please reload the form and try again.", 'catablog'); + } + } + else { + $error = __("No item ID posted, press back arrow and try again.", 'catablog'); + } + + if (!$init_run && $error !== false) { + $this->wp_error($error); + include_once($this->directories['template'] . '/admin-edit.php'); + } + } + + + public function admin_delete($init_run=false) { + $error = false; + + if (isset($_REQUEST['id'])) { + + check_admin_referer('catablog-delete'); + + $item = CataBlogItem::getItem($_REQUEST['id']); + if ($item) { + $item->delete(); + header('Location: admin.php?page=catablog&message=2'); die; + } + else { + header('Location: admin.php?page=catablog&message=3'); die; + } + } + } + + + public function admin_bulk_edit($init_run=false) { + $action = $_REQUEST['bulk-action']; + if ($this->string_length($action) > 0) { + + // verify that the post has a nonce, and therefor should be acted upon + $nonce_verified = wp_verify_nonce( $_REQUEST['_catablog_bulkedit_nonce'], 'catablog_bulkedit' ); + if (!$nonce_verified) { + header('Location: admin.php?page=catablog&message=4'); die; + + } + else { + + // if no catalog items selected return this error message. + if (!isset($_REQUEST['bulk_selection'])) { + $this->wp_message(__('Please make your selection by checking the boxes in the list below.', 'catablog')); + } + else { + + $ref = "admin.php?page=catablog"; + if ($_POST['reference']) { + $ref = $_POST['reference']; + } + + // if action is edit-category, change the categories of all selected items + if ($action == 'edit-category') { + + $selection = $_REQUEST['bulk_selection']; + + // process categories to add to selected items + $categories_add = (isset($_REQUEST['categories-add']))? $_REQUEST['categories-add'] : array(); + foreach ($categories_add as $key => $value) { + $categories_add[$key] = (integer) $value; + } + + // process categories to remove from selected items + $categories_remove = (isset($_REQUEST['categories-remove']))? $_REQUEST['categories-remove'] : array(); + foreach ($categories_remove as $key => $value) { + $categories_remove[$key] = (integer) $value; + } + + foreach ($selection as $item_id) { + $item = CataBlogItem::getItem($item_id); + if ($item) { + + $categories_items = array_keys($item->getCategories()); + $categories_items = array_merge($categories_items, $categories_add); + $categories_items = array_unique($categories_items); + + foreach ($categories_items as $key => $cat_id) { + foreach ($categories_remove as $cat_id_remove) { + if ($cat_id == $cat_id_remove) { + unset($categories_items[$key]); + } + } + } + + $item->setCategories($categories_items); + $item->save(); + } + else { + $this->wp_error(sprintf(__('Error during set category, could not load item with id %s.', 'catablog'), $item_id)); + } + } + + $ref .= "&message=5"; + header("Location: $ref"); die; + + } + + // if action is delete, delete all selected items + if ($action == 'delete') { + $selection = $_REQUEST['bulk_selection']; + foreach ($selection as $item_id) { + $item = CataBlogItem::getItem($item_id); + if ($item) { + $item->delete(); + } + else { + $this->wp_error(sprintf(__('Error during bulk delete, could not load item with id %s.', 'catablog'), $item_id)); + } + } + + $ref .= "&message=6"; + header("Location: $ref"); die; + } + + + } + } + } + + header('Location: admin.php?page=catablog'); die; + + } + + public function admin_import() { + $error = false; + + $nonce_verified = wp_verify_nonce( $_REQUEST['_catablog_import_nonce'], 'catablog_import' ); + if (!$nonce_verified) { + $error = __("WordPress Nonce Error, please reload the form and try again.", 'catablog'); + } + + // do appropriate actions depending on format and successful upload + $file_error_check = $this->check_file_upload_errors(); + if ($file_error_check !== true) { + $error = ($file_error_check); + } + elseif (isset($_FILES['catablog_data']) === false) { + $error = __('No file was selected for upload, please try again.', 'catablog'); + } + else { + $upload = $_FILES['catablog_data']; + $extension = end(explode(".", strtolower($upload['name']))); + + if ($extension == 'xml') { + $data = $this->xml_to_array($upload['tmp_name']); + if ($data === false) { + $error = __('Uploaded XML File Could Not Be Parsed, Check That The File\'s Content Is Valid XML.', 'catablog'); + } + } + else if ($extension == 'csv') { + $data = $this->csv_to_array($upload['tmp_name']); + if (empty($data)) { + $error = __('Uploaded CSV File Could Not Be Parsed, Check That The File\'s Format Is Valid.', 'catablog'); + } + } + else { + $error = __('Uploaded file was not of proper format, please make sure the filename has an xml or csv extension.', 'catablog'); + } + + + } + + // if there is an error display it and stop + if ($error !== false) { + $this->wp_error($error); + include_once($this->directories['template'] . '/admin-import.php'); + return false; + } + + // Private DataBase Insertion Method Called in Template: load_array_to_database($data_array) + include_once($this->directories['template'] . '/admin-import.php'); + } + + public function admin_export() { + + check_admin_referer('catablog-export'); + + $date = date('Y-m-d'); + + $format = 'xml'; + if (isset($_REQUEST['format'])) { + if ($_REQUEST['format'] == 'csv') { + $format = 'csv'; + } + } + + header('Content-type: application/'.$format); + header('Content-Disposition: attachment; filename="catablog-backup-'.$date.'.'.$format.'"'); + header("Pragma: no-cache"); + header("Expires: 0"); + + $results = CataBlogItem::getItems(); + + if ($format == 'csv') { + ini_set('auto_detect_line_endings', true); + + $outstream = fopen("php://output", 'w'); + $field_names = array('image','subimages','title','description','date','order','link','price','product_code','categories'); + $header = NULL; + + foreach ($results as $result) { + if (!$header) { + fputcsv($outstream, $field_names, ',', '"'); + $header = true; + } + fputcsv($outstream, $result->getCSVArray(), ',', '"'); + } + + fclose($outstream); + } + + if ($format == 'xml') { + include_once($this->directories['template'] . '/admin-export.php'); + } + + die; + } + + + public function admin_unlock_folders() { + check_admin_referer('catablog-unlock-folders'); + + if ($this->unlock_directories()) { + $this->wp_message(__("The CataBlog upload directories have been unlocked.", 'catablog')); + } + else { + $this->wp_error(__("Could not lock/unlock the directory. Are you using a unix based server?", 'catablog')); + } + + $this->admin_options(); + } + + public function admin_lock_folders() { + check_admin_referer('catablog-lock-folders'); + + if ($this->lock_directories()) { + $this->wp_message(__("The CataBlog upload directories have been locked.", 'catablog')); + } + else { + $this->wp_error(__("Could not lock/unlock the directory. Are you using a unix based server?", 'catablog')); + } + + $this->admin_options(); + } + + public function admin_rescan_images() { + + check_admin_referer('catablog-rescan-originals'); + + $items = CataBlogItem::getItems(); + $image_names = array(); + foreach ($items as $item) { + $image_names[] = $item->getImage(); + foreach ($item->getSubImages() as $subimage) { + $image_names[] = $subimage; + } + } + + $new_rows = array(); + $new_rows['images'] = array(); + $originals = new CataBlogDirectory($this->directories['originals']); + + if ($originals->isDirectory()) { + + $new_order = wp_count_posts($this->custom_post_name)->publish + 1; + + $default_term = $this->get_default_term(); + $default_category = (array($default_term->term_id=>$default_term->name)); + + foreach ($originals->getFileArray() as $file) { + if (!in_array($file, $image_names)) { + + $extension = end(explode(".", strtolower($file))); + $media_accepted = array('jpg', 'jpeg', 'gif', 'png'); + + if (in_array($extension, $media_accepted)) { + $title = str_replace(array('-','_'), ' ', $file); + $title = str_ireplace('.'.$extension, '', $title); + + $new_item = new CataBlogItem(); + $new_item->setOrder($new_order); + $new_item->setTitle($title); + + $new_item->setImage($file, false); + $new_item->setSubImages(array()); + + $new_item->setCategories($default_category); + $new_item->save(); + + $new_rows['ids'][] = $new_item->getId(); + $new_rows['titles'][] = $new_item->getTitle(); + $new_rows['images'][] = $new_item->getImage(); + + } + } + + $new_order += 1; + } + } + + include_once($this->directories['template'] . '/admin-rescan.php'); + } + + public function admin_regenerate_images() { + + check_admin_referer('catablog-regenerate-images'); + + $items = CataBlogItem::getItems(); + $image_names = array(); + + foreach ($items as $item) { + $image_names[] = $item->getImage(); + foreach ($item->getSubImages() as $image) { + $image_names[] = $image; + } + } + + include_once($this->directories['template'] . '/admin-regenerate.php'); + } + + public function admin_remove_all() { + check_admin_referer('catablog-remove'); + include_once($this->directories['template'] . '/admin-remove.php'); + } + + + + + + + + + + + + + /***************************************************** + ** - ADMIN AJAX ACTIONS + *****************************************************/ + public function ajax_micro_save() { + check_ajax_referer('catablog-micro-save','security'); + + $id = $_REQUEST['id']; + $item = CataBlogItem::getItem($id); + + $title = $_REQUEST['title']; + $description = $_REQUEST['description']; + + $item->setTitle($title); + $item->setDescription($description); + $validate = $item->validate(); + if ($validate === true) { + $item->save(); + echo "({'success':true, 'message':'".__('micro save successful','catablog')."'})"; + } + else { + echo "({'success':false, 'message':'$validate'})"; + } + + + die; + } + public function ajax_update_screen_settings() { + check_ajax_referer('catablog-update-screen-settings','security'); + + $fields = array('description', 'link', 'price', 'product_code', 'categories', 'order', 'date'); + $hide_array = is_array($_REQUEST['hide'])? $_REQUEST['hide'] : array(); + + $settings = array(); + $settings['limit'] = $_REQUEST['entry-per-page']; + + $settings['hide-columns'] = array(); + foreach ($fields as $field) { + if (!in_array($field, $hide_array)) { + $settings['hide-columns'][] = $field; + } + } + + $user = wp_get_current_user(); + update_user_meta($user->ID, 'catablog_screen_settings', $settings); + + echo "({'success':true, 'message':'".__('Screen Options updated successfully.', 'catablog')."'})"; + + die; + } + + public function ajax_reorder_items() { + check_ajax_referer('catablog-reorder', 'security'); + + $ids = $_POST['ids']; + $length = count($ids); + + for ($i=0; $i < $length; $i++) { + $item = CataBlogItem::getItem($ids[$i]); + $item->setOrder($i); + $item->save(); + } + + exit; + } + + public function ajax_new_category() { + check_ajax_referer('catablog-new-category', 'security'); + + $_REQUEST = array_map('stripslashes_deep', $_REQUEST); + + $category_name = trim($_REQUEST['name']); + + $char_check = preg_match('/[\,\|\<\>\&\'\"]/', $category_name); + if ($char_check > 0) { + echo "({'success':false, 'error':'".__('Commas, Pipes and reserved HTML characters are not allowed in category names.', 'catablog')."'})"; + die; + }; + + $string_length = $this->string_length($category_name); + if ($string_length < 1) { + echo "({'success':false, 'error':'".__('Please be a little more specific with your category name.', 'catablog')."'})"; + die; + } + + $name_exists = false; + foreach ($this->get_terms() as $term) { + if (strtolower($category_name) == strtolower($term->name)) { + $name_exists = true; + break; + } + } + if ($name_exists) { + echo "({'success':false, 'error':'".__('There already is a category with that name.', 'catablog')."'})"; + die; + } + + $category_slug = $this->string2slug($category_name); + $attr = array('slug'=>$category_slug); + $new_category_id = wp_insert_term($category_name, $this->custom_tax_name, $attr); + + if (isset($new_category_id['term_id'])) { + echo "({'success':true, 'id':".$new_category_id['term_id'].", 'name':'$category_name'})"; + } + else { + $error_string = ""; + foreach ($new_category_id->get_error_messages() as $error) { + $error_string = $error . " "; + } + echo "({'success':false, 'error':'".$error_string."'})"; + } + + exit; + } + + public function ajax_delete_category() { + check_ajax_referer('catablog-delete-category', 'security'); + + $_REQUEST = array_map('stripslashes_deep', $_REQUEST); + + $term_id = (integer) trim($_REQUEST['term_id']); + if(wp_delete_term($term_id, $this->custom_tax_name)) { + echo "({'success':true, 'message':'".__('Term Removed Successfully.', 'catablog')."'})"; + } + else { + echo "({'success':false, 'error':'".__('Term did not exist, please refresh page and try again.', 'catablog')."'})"; + } + + exit; + } + + public function ajax_flush_fullsize() { + check_ajax_referer('catablog-flush-fullsize', 'security'); + + $this->remove_directories(array('fullsize')); + + $dir = 'fullsize'; + $is_dir = is_dir($this->directories[$dir]); + $is_file = is_file($this->directories[$dir]); + if (!$is_dir && !$is_file) { + mkdir($this->directories[$dir]); + } + + $this->options['lightbox-render'] = false; + $this->save_wp_options(); + + exit; + } + + public function ajax_render_images() { + check_ajax_referer('catablog-render-images', 'security'); + + $name = $_REQUEST['image']; + $type = $_REQUEST['type']; + $count = $_REQUEST['count']; + $total = $_REQUEST['total']; + + $item = new CataBlogItem(); + + switch ($type) { + case 'thumbnail': + $success = $item->MakeThumbnail($name); + break; + case 'fullsize'; + $success = $item->MakeFullsize($name); + break; + default: + $success = __("unsupported image size type", 'catablog'); + break; + } + + if ($success !== true) { + $message = $success; + echo "({'success':false, 'error':'$message'})"; + } + else { + $message = sprintf(__('Rendering... %s of %s', 'catablog'), $total - $count, $total); + if ($count == 0) { + $message = __('Image rendering is now complete.', 'catablog'); + } + echo "({'success':true, 'message':'$message'})"; + } + + + exit; + } + + public function ajax_delete_subimage() { + check_ajax_referer('catablog-delete-subimage', 'security'); + + $id = $_POST['id']; + $image = $_POST['image']; + + $result = CataBlogItem::getItem($id); + $sub_images = $result->getSubImages(); + + foreach ($sub_images as $key => $value) { + if ($image == $value) { + unset($sub_images[$key]); + } + } + + $to_delete = array(); + $to_delete["original"] = $this->directories['originals'] . "/$image"; + $to_delete["thumbnail"] = $this->directories['thumbnails'] . "/$image"; + $to_delete["fullsize"] = $this->directories['fullsize'] . "/$image"; + + foreach ($to_delete as $file) { + if (is_file($file)) { + unlink($file); + } + } + + $result->setSubImages($sub_images); + $result->save(); + + delete_transient('dirsize_cache'); // WARNING!!! transient label hard coded. + + if (false) { + echo "({'success':false, 'error':'".__('error', 'catablog')."'})"; + } + else { + echo "({'success':true, 'message':'".__('sub image deleted successfully', 'catablog')."'})"; + } + + exit; + } + + public function ajax_delete_library() { + check_ajax_referer('catablog-delete-library', 'security'); + + $limit = 20; + + $items = CataBlogItem::getItems(false, 'IN', 'date', 'asc', 0, $limit); + foreach ($items as $item) { + $item->delete(false); + } + + $counts = wp_count_posts($this->custom_post_name); + + if ($counts->publish > 0) { + $message = sprintf(__('%s library items deleted successfully.', 'catablog'), count($items)); + } + else { + $message = sprintf(__('CataBlog Library Cleared Successfully.', 'catablog')); + } + + echo "({'success':true, 'remaining':$counts->publish, 'message':'$message'})"; + + exit; + } + + public function ajax_delete_system() { + check_ajax_referer('catablog-delete-system', 'security'); + + $this->remove(); + + $message = __("CataBlog Options, Directories and Terms Deleted Successfully.", "catablog"); + $message2 = __("You may now go deactivate CataBlog and nothing will be left behind.", "catablog"); + $message3 = __("If you want to continue using CataBlog, go to the library to re-install necessary settings.", "catablog"); + echo "({'success':true, 'message':'$message', 'message2':'$message2', 'message3':'$message3'})"; + + exit; + } + + + + + + + + + + + + + + + /***************************************************** + ** - FRONTEND ACTIONS + *****************************************************/ + public function frontend_init($load=false) { + + // get global posts and the shortcode regex pattern + // global $posts; + // $pattern = get_shortcode_regex(); + + // set load supported files variable + // $this->load_support_files = true; + + + + /* + // !!! DISABLE CACHE HERE + if (false) { + + // find all catablog shortcodes in posts and put them in $shortcode_matches + $shortcode_matches = array(); + if ($this->load_support_files == false) { + foreach ($posts as $post) { + preg_match('/'.$pattern.'/', $post->post_content, $matches); + + if (is_array($matches) && isset($matches[2]) && is_array($matches[2])) { + foreach ($matches[2] as $key => $match) { + if ($match == 'catablog') { + if (isset($matches[3]) && is_array($matches[3])) { + $shortcode_matches[] = $matches[3][$key]; + } + + } + } + } + } + } + + + // put all the category slugs into one array + $slugs = array(); + foreach ($shortcode_matches as $shortcode) { + $atts = shortcode_parse_atts($shortcode); + $atts = shortcode_atts(array('category'=>false), $atts); + $category = $atts['category']; + + if ($category === false) { + $slugs = false; + break; + } + + foreach ($this->get_terms() as $term) { + if (strtolower($category) == strtolower($term->name)) { + $slugs[] = $term->slug; + } + } + } + + // if $slugs is an array remove duplicate entries + if (is_array($slugs)) { + $slugs = array_unique($slugs); + } + + // get all necessary catalog items for the page and save in cache + $this->results_cache = CataBlogItem::getItems($slugs, $operator, $sort, $order); + + } + // END DISABLED CACHE + */ + + + + // set load_support_file to true if a catablog shortcode was found + // if (count($shortcode_matches) > 0) { + // $this->load_support_files = true; + // } + + // $this->load_support_files = true; + + // only load support files if catablog shortcode was found on page. + // $this->load_support_files is hard set to true at the top of this class. + if ($this->load_support_files) { + if ($this->options['lightbox-enabled']) { + wp_enqueue_script('catablog-lightbox', $this->urls['javascript'] . '/catablog.lightbox.js', array('jquery'), $this->version); + } + + wp_enqueue_style('catablog-stylesheet', $this->urls['css'] . '/catablog.css', false, $this->version); + + $path = get_stylesheet_directory() . '/catablog.css'; + $theme_catablog_stylesheet = get_stylesheet_directory_uri() . '/catablog.css'; + if (file_exists($path)) { + wp_enqueue_style('catablog-custom-stylesheet', $theme_catablog_stylesheet, false, $this->version); + } + + } + + } + + public function frontend_header() { + if ($this->load_support_files) { + $size = $this->options['thumbnail-size']; + $size1 = $size + 10; + $size2 = $size - 10; + + $inline_styles = array(); + + $inline_styles[] = ".catablog-row {min-height:{$size}px; height:auto !important; height:{$size}px;}"; + $inline_styles[] = ".catablog-image {width:{$size}px;}"; + $inline_styles[] = ".catablog-title {margin:0 0 0 {$size1}px !important;}"; + $inline_styles[] = ".catablog-description {margin:0 0 0 {$size1}px; !important}"; + $inline_styles[] = ".catablog-images-column {width:{$size}px;} "; + + $inline_styles[] = ".catablog-gallery.catablog-row {width:{$size}px; height:{$size}px;}"; + $inline_styles[] = ".catablog-gallery.catablog-row .catablog-image {width:{$size}px; height:{$size}px;}"; + $inline_styles[] = ".catablog-gallery.catablog-row .catablog-image img {width:{$size}px; height:{$size}px;}"; + $inline_styles[] = ".catablog-gallery.catablog-row .catablog-title {width:{$size2}px;}"; + + echo "\n"; + echo "\n"; + // echo "\n\n"; + } + } + + public function frontend_footer() { + + if (!is_admin() && $this->options['lightbox-enabled']) { + if (isset($this->load_support_files) && $this->load_support_files === true) { + $selector = '.catablog-image'; + if (isset($this->options['lightbox-selector'])) { + if ($this->string_length(trim($this->options['lightbox-selector'])) > 0) { + $selector = $this->options['lightbox-selector']; + } + } + + $javascript = array(); + + $javascript[] = "var js_i18n=new Object;"; + $javascript[] = 'js_i18n.prev_tip="'.__("You may also press "P" or the left arrow on your keyboard", 'catablog').'";'; + $javascript[] = 'js_i18n.next_tip="'.__("You may also press "N" or the right arrow on your keyboard", 'catablog').'";'; + $javascript[] = "js_i18n.close_tip='".__('Close LightBox Now', 'catablog')."';"; + $javascript[] = "js_i18n.prev_label='".__('PREV', 'catablog')."';"; + $javascript[] = "js_i18n.next_label='".__('NEXT', 'catablog')."';"; + $javascript[] = "js_i18n.close_label='".__('CLOSE', 'catablog')."';"; + + $javascript[] = "jQuery(document).ready(function(){ jQuery('$selector').catablogLightbox(); });"; + + echo "\n"; + echo "\n"; + echo "\n\n"; + } + } + } + + public function frontend_content($atts) { + $shortcode_params = array('category'=>false, 'template'=>false, 'sort'=>'menu_order', 'order'=>'asc', 'operator'=>'IN'); + + extract(shortcode_atts($shortcode_params, $atts)); + + // if sort equals order, change it to menu_order + $sort = ($sort == 'order')? 'menu_order' : $sort; + + // modify the operator if it is a possibly wrong format to work with WP. + $operator = str_replace("-", " ", strtoupper($operator)); + + // get items from cache and start the output buffer + if (isset($this->results_cache)) { + $results = $this->results_cache; + } + else { + + // extract all category names + if (!empty($category)) { + $categories = explode(',', $category); + array_walk($categories, create_function('&$val', '$val = trim($val);')); + + $category_ids = array(); + foreach ($categories as $category) { + $id = -1; + foreach ($this->get_terms() as $term) { + if (strtolower($category) == strtolower($term->name)) { + $id = $term->term_id; + } + + $category_ids[] = $id; + } + } + + $category_ids = array_unique($category_ids); + $category = $category_ids; + } + + $results = CataBlogItem::getItems($category, $operator, $sort, $order); + } + + ob_start(); + + foreach ($results as $result) { + + // render all items if the category is not set + // if ($category === false) { + echo $this->frontend_render_catalog_row($result, $template); + // } + + // render only the items in the set category + // else if ($result->inCategory($category)) { + // echo $this->frontend_render_catalog_row($result, $template); + // } + } + + // add a line break at the end + echo " "; + + return ob_get_clean(); + } + + + + + public function frontend_single_filter_content($content) { + global $post; + + if ($post->post_type == $this->custom_post_name) { + $result = CataBlogItem::postToItem($post); + // $result->setDescription($content); + $content = $this->frontend_render_catalog_row($result, 'single'); + } + + return $content; + } + + + + + public function frontend_render_catalog_row($result, $template_override=false) { + + // calculate and get values for usage in multiple tokens + $thumbnail_size = $this->options['thumbnail-size']; + $target = htmlspecialchars($this->options['link-target'], ENT_QUOTES, 'UTF-8'); + $target = ($this->string_length($target) > 0)? "target='$target'" : ""; + $rel = htmlspecialchars($this->options['link-relationship'], ENT_QUOTES, 'UTF-8'); + $rel = ($this->string_length($rel) > 0)? "rel='$rel'" : ""; + $link = $result->getLink(); + + + $values = array(); + + // system wide token values + $values['image-size'] = $thumbnail_size; + $values['paypal-email'] = $this->options['paypal-email']; + $values['link-target'] = $target; + $values['link-rel'] = $rel; + + + // filter description if neccessary + $description = $result->getDescription(); + if ($this->options['filter-description']) { + $pattern = '/\[(catablog)\b(.*?)(?:(\/))?\](?:(.+?)\[\/\2\])?/s'; + $description = preg_replace($pattern, '', $description); + remove_filter('the_content', array(&$this, 'frontend_single_filter_content'), 12); + $description = apply_filters('the_content', $description); + add_filter('the_content', array(&$this, 'frontend_single_filter_content'), 12); + } + if ($this->options['nl2br-description']) { + $description = nl2br($description); + } + + + // catalog item image paths + $values['image-original'] = $this->urls['originals'] . "/" . $result->getImage(); + $values['image-thumbnail'] = $this->urls['thumbnails'] . "/" . $result->getImage(); + $values['image-lightbox'] = $this->urls['fullsize'] . "/" . $result->getImage(); + $values['image-path'] = $this->urls['fullsize']; + if ($this->options['lightbox-render'] == false) { + $values['image-path'] = $this->urls['originals']; + $values['image-lightbox'] = $values['image-original']; + } + + + // catalog item title and content + $values['title'] = $result->getTitle(); + $values['title-link'] = ($this->string_length($link) > 0)? "".$values['title']."" : $values['title']; + $values['description'] = $description; + + + // catalog item attributes + $date_mysql_string = $result->getDate(); + $values['date'] = mysql2date(get_option('date_format'), $date_mysql_string); + $values['time'] = mysql2date(get_option('time_format'), $date_mysql_string); + $values['order'] = $result->getOrder(); + + + // catalog item field values + $values['link'] = ($this->string_length($link) > 0)? $link : $values['image-lightbox']; + $values['permalink'] = get_permalink($result->getId()); + $values['price'] = number_format(((float)($result->getPrice())), 2, '.', ''); + $values['product-code'] = $result->getProductCode(); + + + // catalog item category values + $values['category'] = implode(', ', $result->getCategories()); + $values['category-slugs'] = implode(' ', $result->getCategorySlugs()); + + + // catalog item images + $values['main-image'] = ''; + $values['main-image'] = "".$values['main-image'].""; + $values['sub-images'] = ""; + foreach ($result->getSubImages() as $image) { + $sub_image = ''; + $sub_image = "".$sub_image.""; + $values['sub-images'] .= $sub_image; + } + + + // deprecatted values + $values['title-text'] = $values['title']; + $values['image'] = $values['image-thumbnail']; + $values['image-fullsize'] = $values['image-lightbox']; + + + // generate the buy now button if the price of the item is greater then 0 + $buy_now_button = ''; + if ($values['price'] > 0) { + $buy_now_button = $this->options['view-buynow']; + foreach ($values as $key => $value) { + $search = "%" . strtoupper($key) . "%"; + $buy_now_button = str_replace($search, $value, $buy_now_button); + } + } + $values['buy-now-button'] = $buy_now_button; + + + // check if theme is empty, if so use default theme + $template = ""; + if ($template_override !== false) { + $template_file = $this->directories['template'] . '/views/' . $template_override . '.htm'; + + if (is_file($template_file)) { + $template = file_get_contents($template_file); + } + else { + $template = "

    "; + $template .= sprintf(__("CataBlog ShortCode Parameter Error: The template attribute of this ShortCode points to a file that does not exist. Please make sure their is a file with the name '%s.htm' in the views directory."), $template_override); + $template .= " [".__("Learn More")."]"; + $template .= "

    "; + } + + if ($this->string_length($template) == 0) { + $template = file_get_contents($this->directories['template'] . '/views/default.htm'); + } + } + else { + $template = $this->options['view-theme']; + if ($this->string_length($template) == 0) { + $template = file_get_contents($this->directories['template'] . '/views/default.htm'); + } + } + + + // loop through each items array of values and replace tokens + foreach($values as $key => $value) { + $search = "%" . strtoupper($key) . "%"; + $template = str_replace($search, $value, $template); + } + + + $processed_row = $template; + return $processed_row; + } + + + + + + + + + + + + + + + + + + + /** + * Setup the required options, folders and terms for catablog, + * this function is run on all catablog admin pages and on the + * admin plugins management pages automatically. + * + * @return void + */ + public function setup() { + if (!$this->is_installed()) { + $this->install(); + } + } + + + + /***************************************************** + ** - INSTALL METHODS + *****************************************************/ + private function is_installed() { + if ($this->options == false) { + return false; + } + + if ($this->get_default_term() === null) { + return false; + } + + $dirs = array(0=>'wp_uploads', 1=>'uploads', 2=>'thumbnails', 3=>'originals', 4=>'fullsize'); + foreach ($dirs as $dir) { + $is_dir = is_dir($this->directories[$dir]); + if ($is_dir === false) { + return false; + } + } + + return true; + } + + private function install() { + + if ($this->options == false) { + $this->install_options(); + } + + if ($this->get_default_term() === null) { + $this->install_default_term(); + } + + $directories_missing = false; + $dirs = array(0=>'wp_uploads', 1=>'uploads', 2=>'thumbnails', 3=>'originals', 4=>'fullsize'); + foreach ($dirs as $dir) { + $is_dir = is_dir($this->directories[$dir]); + if ($is_dir === false) { + $directories_missing = true; + break; + } + } + + if ($directories_missing) { + $this->install_directories(); + } + + + $body_array = array('action'=>'install', 'site-url'=>site_url(), 'version'=>$this->version); + $post_action = wp_remote_post('http://catablog.illproductions.com/tracker.php', array('body'=>$body_array)); + + + $this->wp_message(sprintf(__('CataBlog options and directories have been successfully installed. Please, %srefresh now%s', 'catablog'), '', '')); + + } + + private function install_options() { + $default_options = array(); + $default_options['version'] = $this->version; + $default_options['thumbnail-size'] = $this->default_thumbnail_size; + $default_options['image-size'] = $this->default_image_size; + $default_options['background-color'] = $this->default_bg_color; + $default_options['paypal-email'] = ""; + $default_options['keep-aspect-ratio'] = false; + $default_options['lightbox-enabled'] = false; + $default_options['lightbox-render'] = false; + $default_options['lightbox-selector'] = ".catablog-image"; + $default_options['link-target'] = ""; + $default_options['link-relationship'] = ""; + $default_options['view-theme'] = file_get_contents($this->directories['template'] . '/views/default.htm'); + $default_options['view-buynow'] = ""; + $default_options['filter-description'] = false; + $default_options['nl2br-description'] = true; + $default_options['public_posts'] = false; + $default_options['public_post_slug'] = $this->custom_post_name; + $default_options['public_tax_slug'] = $this->custom_tax_name; + + $this->options = $default_options; + $this->save_wp_options(); + } + + private function install_directories() { + $dirs = array(0=>'wp_uploads', 1=>'uploads', 2=>'thumbnails', 3=>'originals', 4=>'fullsize'); + + foreach ($dirs as $dir) { + $is_dir = is_dir($this->directories[$dir]); + $is_file = is_file($this->directories[$dir]); + if (!$is_dir && !$is_file) { + if (mkdir($this->directories[$dir]) == false) { + // can not write directory to disc + } + } + } + } + + private function install_default_term() { + if ($this->get_default_term() !== NULL) { + return false; + } + + $category_slug = $this->string2slug($this->default_term_name); + $attr = array('slug'=>$category_slug); + $insert_return = wp_insert_term($this->default_term_name, $this->custom_tax_name, $attr); + if ($insert_return instanceof WP_Error) { + foreach ($insert_return->get_error_messages() as $error) { + $this->wp_error(sprintf(__("There was an error creating the default term: %s", 'catablog'), $error)); + } + } + + $this->terms = $this->get_terms(true); + + return $insert_return; + } + + + + + + + /***************************************************** + ** - UPGRADE METHODS + *****************************************************/ + private function is_latest_version() { + $old_version = $this->options['version']; + $new_version = $this->version; + + $compare = version_compare($old_version, $new_version, '<'); + return !$compare; + } + + public function upgrade() { + // do not upgrade if latest version or options are not installed + if ($this->is_latest_version() || $this->options == false) { + return false; + } + + $this->upgrade_user_options(); + $this->upgrade_options(); + $this->upgrade_directories(); + + $body_array = array('action'=>'upgrade', 'site-url'=>site_url(), 'version'=>$this->version); + $post_action = wp_remote_post('http://catablog.illproductions.com/tracker.php', array('body'=>$body_array)); + + $this->wp_message(__('CataBlog options and directories have been successfully upgraded.', 'catablog')); + } + + private function upgrade_user_options() { + if (version_compare($this->options['version'], '1.2.9', '<')) { + $screen_settings = array('limit'=>20); + $user = wp_get_current_user(); + update_user_meta($user->ID, 'catablog_screen_settings', $screen_settings); + } + } + + private function upgrade_options() { + + // add new public post and taxonomy options + if (version_compare($this->options['version'], '1.2.9', '<')) { + $this->options['public_posts'] = false; + $this->options['public_post_slug'] = $this->custom_post_name; + $this->options['public_tax_slug'] = $this->custom_tax_name; + } + + // update the version number + $this->options['version'] = $this->version; + $this->save_wp_options(); + } + + private function upgrade_directories() { + // their are no upgrade instructions for the directories + } + + + + + + + + + + + + + + + /***************************************************** + ** - REMOVAL METHODS + *****************************************************/ + + public function deactivate() { + + } + + private function remove() { + $this->remove_options(); + $this->remove_directories(); + $this->remove_terms(); + } + + private function remove_options() { + if (delete_option($this->options_name)) { + $this->options = false; + } + } + + private function remove_directories($dirs=null) { + if ($dirs === null) { + $dirs = array('fullsize', 'thumbnails', 'originals', 'uploads'); + } + + foreach ($dirs as $dir) { + $mydir = $this->directories[$dir]; + if (is_dir($mydir)) { + $d = dir($mydir); + while ($entry = $d->read()) { + if ($entry != "." && $entry != "..") { + unlink($mydir . '/' . $entry); + } + } + $d->close(); + + rmdir($mydir); + } + else { + if (is_file($mydir)) { + unlink($mydir); + } + } + } + + delete_transient('dirsize_cache'); // WARNING!!! transient label hard coded. + } + + private function remove_terms() { + foreach ($this->get_terms(true) as $term) { + $success = wp_delete_term($term->term_id, $this->custom_tax_name); + } + + $this->terms = array(); + } + + + + + + + + + + /***************************************************** + ** - IMPORT METHODS + *****************************************************/ + public function xml_to_array($filename='') { + if(!file_exists($filename) || !is_readable($filename)) { + return FALSE; + } + + libxml_use_internal_errors(true); + $xml = simplexml_load_file($filename); + if ($xml === false) { + return FALSE; + } + + $data = array(); + foreach ($xml->item as $item) { + $row = array(); + + $row['id'] = (integer) $item->image; + $row['order'] = (integer) ((isset($item->order))? $item->order : $item->ordinal); + $row['date'] = (string) $item->date; + $row['image'] = (string) $item->image; + $row['title'] = (string) $item->title; + $row['link'] = (string) $item->link; + $row['description'] = (string) $item->description; + $row['price'] = (float) $item->price; + $row['product_code'] = (string) $item->product_code; + + $subimages = array(); + foreach ($item->subimages as $images) { + foreach ($images as $image) { + $subimages[] = (string) $image; + } + } + + $row['subimages'] = $subimages; + + $terms = array(); + if (isset($item->tags)) { + $tags = (string) $item->tags; + $terms = explode(' ', trim($tags)); + } + else { + foreach($item->categories as $categories) { + foreach ($categories as $category) { + $terms[] = (string) $category; + } + } + } + $row['categories'] = implode('|', $terms); + + $row['date'] = date('Y-m-d G:i:s', strtotime($row['date'])); + + $data[] = $row; + } + + return $data; + } + + public function csv_to_array($filename='', $delimiter=',') { + if(!file_exists($filename) || !is_readable($filename)) { + return FALSE; + } + + ini_set('auto_detect_line_endings', true); + + $header = NULL; + $data = array(); + if (($handle = fopen($filename, 'r')) !== FALSE) { + while (($row = fgetcsv($handle, 0, $delimiter)) !== FALSE) { + if(!$header) { + $header = $row; + } + else {//if (count($row) == 9) { + $data[] = array_combine($header, $row); + } + } + fclose($handle); + } + + foreach ($data as $key => $row) { + $data[$key]['date'] = date('Y-m-d G:i:s', strtotime($row['date'])); + } + + return $data; + } + + private function load_array_to_database($data) { + + // extract a list of every category in the import + $import_terms = array($this->default_term_name); + foreach ($data as $key => $row) { + $row_terms = array(); + if ($this->string_length($row['categories']) > 0) { + $row_terms = explode('|', $row['categories']); + } + + foreach ($row_terms as $row_term) { + $import_terms[] = $row_term; + } + } + $import_terms = array_intersect_key($import_terms,array_unique(array_map('strtolower',$import_terms))); + + // extract a list of every category that is not already created + $make_terms = $import_terms; + if (isset($_REQUEST['catablog_clear_db']) === false) { + $existant_terms = $this->get_terms(true); + foreach ($existant_terms as $existant_term) { + foreach ($make_terms as $key => $make_term) { + if ($make_term == $existant_term->name) { + unset($make_terms[$key]); + unset($import_terms[$key]); + + $import_terms[$existant_term->term_id] = $existant_term->name; + } + } + } + } + + // create the neccessary new categories from the previous export + $new_term_made = false; + foreach ($make_terms as $key => $make_term) { + $category_slug = $this->string2slug($make_term); + $attr = array('slug'=>$category_slug); + $insert_return = wp_insert_term($make_term, $this->custom_tax_name, $attr); + + if ($insert_return instanceof WP_Error) { + foreach ($insert_return->get_error_messages() as $error) { + echo '
  • ' . __("Error:", 'catablog') . sprintf(' %s %s', "$make_term", $error) . '
  • '; + } + } + else { + if (isset($insert_return['term_id'])) { + $new_term_id = $insert_return['term_id']; + $new_term_name = $make_term; + + if ($new_term_id > 0) { + unset($import_terms[$key]); + unset($make_terms[$key]); + + $import_terms[$new_term_id] = $new_term_name; + $new_term_made = true; + echo '
  • ' . __("Success:", 'catablog') . sprintf(__(' %s inserted into catalog categories.', 'catablog'), "$make_term") . '
  • '; + } + } + } + } + + // render complete making new categories message + if ($new_term_made) { + echo '
  • '.__('All New Categories Created', 'catablog').'
  • '; + echo '
  •  
  • '; + } + else { + echo '
  • '.__('No New Categories Created', 'catablog').'
  • '; + echo '
  •  
  • '; + } + + // load all existing catalog item ids + $existant_ids = CataBlogItem::getItemIds(); + + // import each new catalog item + $new_order = wp_count_posts($this->custom_post_name)->publish + 1; + + foreach ($data as $row) { + $error = false; + + $success_message = '
  • ' . __('Update:', 'catablog') . sprintf(__(' %s updated in database.', 'catablog'), ''.$row['title'].'') . '
  • '; + $error_message = '
  • ' . __('Error:', 'catablog') . sprintf(__(' %s was not inserted into the database.', 'catablog'), ''.$row['title'].'') . '
  • '; + + if ($this->string_length($row['title']) < 1) { + $error = '
  • ' . __('Error:', 'catablog') . " " . __('Item had no title and could not be made.', 'catablog') . '
  • '; + } + if ($this->string_length($row['image']) < 1) { + $error = '
  • ' . __('Error:', 'catablog') . " " . __('Item had no primary image name and could not be made.', 'catablog') . '
  • '; + } + + if ($error) { + echo $error; + } + else { + + // transform categories array + $categories = $row['categories']; + if (is_array($categories) === false) { + $categories = explode('|', $categories); + $row['categories'] = array(); + } + foreach ($categories as $cat) { + foreach ($import_terms as $term_id => $term_name) { + if (strtolower($term_name) == strtolower($cat)) { + $row['categories'][] = $term_id; + } + } + } + + // transform subimages array + $subimages = $row['subimages']; + if (is_array($subimages) === false) { + if ($this->string_length($subimages) > 0) { + $subimages = explode('|', $subimages); + } + else { + $subimages = array(); + } + } + $row['sub_images'] = $subimages; + unset($row['subimages']); + + // unset id if it is not already in the database. + if (!in_array($row['id'], $existant_ids)) { + $success_message = '
  • ' . __('Insert:', 'catablog') . sprintf(__(' %s inserted into the database.', 'catablog'), ''.$row['title'].'') . '
  • '; + unset($row['id']); + } + + $item = new CataBlogItem($row); + + $item->setOrder($new_order); + + $results = $item->save(); + + if ($results === true) { + if (!isset($row['id'])) { + $existant_ids[] = $item->getId(); + } + echo $success_message; + } + else { + echo $results; + } + } + + $new_order += 1; + // return false; + } + + echo '
  • ' . __('All Catalog Items Processed', 'catablog') . '
  • '; + + } + + + + + + + + + /***************************************************** + ** - ADMINISTRATION METHODS + *****************************************************/ + private function unlock_directories() { + $success = true; + $dirs = array(1=>'uploads', 2=>'thumbnails', 3=>'originals', 4=>'fullsize'); + + foreach ($dirs as $dir) { + $is_dir = is_dir($this->directories[$dir]); + if ($is_dir) { + if (chmod($this->directories[$dir], 0777) === false) { + $success = false; + } + } + } + + return $success; + } + + private function lock_directories() { + $success = true; + $dirs = array(1=>'uploads', 2=>'thumbnails', 3=>'originals', 4=>'fullsize'); + + foreach ($dirs as $dir) { + $is_dir = is_dir($this->directories[$dir]); + if ($is_dir) { + if (chmod($this->directories[$dir], 0755) === false) { + $success = false; + } + } + } + + return $success; + } + + + + + + + + + + + + + /***************************************************** + ** - HELPER METHODS + *****************************************************/ + private function check_file_upload_errors() { + foreach($_FILES as $file) { + if ($file['error'] > 0) { + switch($file['error']) { + case UPLOAD_ERR_INI_SIZE: + return __("Uploaded File Exceeded The PHP Configurations Max File Size.", 'catablog'); + break; + case UPLOAD_ERR_FORM_SIZE: + return __("Upload File Exceeded The HTML Form's Max File Size.", 'catablog'); + break; + case UPLOAD_ERR_PARTIAL: + return __("File Only Partially Uploaded, Please Try Again.", 'catablog'); + break; + case UPLOAD_ERR_NO_FILE: + return __("No File Selected For Upload. Please Resubmit The Form.", 'catablog'); + break; + case UPLOAD_ERR_NO_TMP_DIR: + return __("Your Server's PHP Configuration Does Not Have A Temporary Folder For Uploads, Please Contact The System Admin.", 'catablog'); + break; + case UPLOAD_ERR_CANT_WRITE: + return __("Your Server's PHP Configuration Can Not Write To Disc, Please Contact The System Admin.", 'catablog'); + break; + case UPLOAD_ERR_EXTENSION: + return __("A PHP Extension Is Blocking PHP From Excepting Uploads, Please Contact The System Admin.", 'catablog'); + break; + default: + return __("An Unknown Upload Error Has Occurred", 'catablog'); + } + } + } + + return true; + } + private function save_wp_options() { + update_option($this->options_name, $this->options); + } + + private function get_options() { + return get_option($this->options_name); + } + + public function get_terms($reload=false) { + if ($this->terms == NULL || $reload) { + $database_fetch = get_terms($this->custom_tax_name, 'hide_empty=0'); + if ($database_fetch == NULL) { + $this->terms = array(); + } + else { + $this->terms = $database_fetch; + } + } + + return $this->terms; + } + + public function get_default_term() { + if ($this->default_term == NULL) { + $terms = $this->get_terms(); + foreach ($terms as $term) { + if ($term->name == $this->default_term_name) { + $this->default_term = $term; + } + } + } + return $this->default_term; + } + + private function string2slug($string) { + $slug = "catablog-term-" . strtolower($string); + return wp_unique_term_slug($slug, null); + } + + private function string_length($string) { + if (function_exists('mb_strlen')) { + return mb_strlen($string); + } + else { + return strlen($string); + } + } + + private function wp_message($message) { + $this->wp_messages[] = $message; + } + + private function wp_error($message) { + $this->wp_error_messages[] = $message; + } + + public function render_catablog_admin_message() { + foreach ($this->wp_messages as $message) { + echo "

    "; + echo " $message"; + echo "

    "; + } + + foreach ($this->wp_error_messages as $message) { + echo "

    "; + echo " $message"; + echo "

    "; + } + } + + + + + + + + + +} \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/lib/CataBlogDirectory.class.php b/src/wp-content/plugins/catablog/lib/CataBlogDirectory.class.php new file mode 100644 index 0000000..29369fb --- /dev/null +++ b/src/wp-content/plugins/catablog/lib/CataBlogDirectory.class.php @@ -0,0 +1,119 @@ +directory = $directory; + $d = ""; + if (is_dir($directory)) { + $d = opendir($directory) or exit(__("Could not open directory.", 'catablog')); + while (false !== ($f=readdir($d))) { + if (is_file("$directory/$f")) { + if (substr($f, 0, 1) != '.') { + $this->filearray[] = $f; + } + } + } + closedir($d); + } + else { + return false; + } + } + + + public function isDirectory() { + return is_dir($this->directory); + } + + public function getFileArray() { + return $this->filearray; + } + + public function indexOrder() { + sort($this->filearray); + } + + public function naturalCaseInsensitiveOrder() { + natcasesort($this->filearray); + } + + public function getCount() { + return count($this->filearray); + } + + public function getDirectorySize() { + $filesize = 0; + foreach ($this->filearray as $file) { + $filesize = $filesize + filesize($this->directory . "/$file"); + } + + return $filesize; + } + + + + public function checkAllImages() { + $bln = true; + $extension = ""; + $types = array("jpg", "jpeg", "gif", "png"); + foreach ($this->filearray as $key => $value) { + $extension = substr($value, (strrpos($value, ".") + 1)); + $extension = strtolower($extension); + if (!in_array($extension, $types)) { + $bln = false; + break; + } + } + return $bln; + } + + + + public function checkAllSpecificType($extension) { + $extension = strtolower($extension); + $bln = true; + $ext = ""; + foreach ($this->filearray as $key => $value) { + $ext = substr($value, (strrpos($value, ".") + 1)); + $ext = strtolower($ext); + if ($extension != $ext) { + $bln = false; + break; + } + } + return $bln; + } + + + + public function filter($extension) { + $extension = strtolower($extension); + foreach ($this->filearray as $key => $value) { + $ext = substr($value, (strrpos($value, ".") + 1)); + $ext = strtolower($ext); + if ($ext != $extension) { + unset($this->filearray[$key]); + } + } + } + + + + public function removeFilter() { + unset($this->filearray); + $d = ""; + $d = opendir($this->directory) or exit(__("Could not open directory.", 'catablog')); + while (false !== ($f = readdir($d))) { + if (is_file("$this->directory/$f")) { + $this->filearray[] = $f; + } + } + } + + + +} \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/lib/CataBlogItem.class.php b/src/wp-content/plugins/catablog/lib/CataBlogItem.class.php new file mode 100644 index 0000000..af87454 --- /dev/null +++ b/src/wp-content/plugins/catablog/lib/CataBlogItem.class.php @@ -0,0 +1,1018 @@ + + * @version 1.2.9.7 + * @package catablog + */ + +/** + * CataBlogItem, a container class for each catalog items with all the important + * properties, such as title, image, secondary images, etc. Variable names without + * an underscore prefix are the post_parameters or values set by the user. + * + * @package catablog + */ +class CataBlogItem { + + // item properties that directly relate to + // values in the WordPress Database + private $id = null; + private $title = ""; + private $description = ""; + private $date = null; + private $image = ""; + private $sub_images = array(); + private $order = 0; + private $link = ""; + private $price = 0; + private $product_code = ""; + private $categories = array(); + + // object values not considered item properties + // this will be skipped in getParameterArray() method + private $_options = array(); + private $_main_image_changed = false; + private $_sub_images_changed = false; + private $_old_images = array(); + private $_wp_upload_dir = ""; + private $_custom_post_name = ""; + private $_custom_tax_name = ""; + private $_post_meta_name = "catablog-post-meta"; + private $_post_name = ""; + + // construction method + public function __construct($post_parameters=null) { + global $wp_plugin_catablog_class; + $this->_custom_post_name = $wp_plugin_catablog_class->getCustomPostName(); + $this->_custom_tax_name = $wp_plugin_catablog_class->getCustomTaxName(); + + $this->_options = get_option('catablog-options'); + + $wp_directories = wp_upload_dir(); + $this->_wp_upload_dir = $wp_directories['basedir']; + + if (isset($post_parameters)) { + foreach ($this->getParameterArray() as $param_name) { + $this->{$param_name} = $post_parameters[$param_name]; + } + } + } + + + + + /***************************************************** + ** - FACTORY METHODS + *****************************************************/ + + + + + /** + * Get a single catalog item by database id + * + * @param integer $id The id of the catalog item you wish to get. + * @return null|CataBlogItem + */ + public static function getItem($id) { + $post = get_post($id); + + if ($post == false) { + return null; + } + + $item = new CataBlogItem(); + + if ($post->post_type != $item->getCustomPostName()) { + return null; + } + + $category_ids = array(); + $terms = get_the_terms($post->ID, $item->_custom_tax_name); + if (is_array($terms)) { + foreach ($terms as $term) { + $category_ids[$term->term_id] = $term->name; + } + } + + $item->id = $post->ID; + $item->title = $post->post_title; + $item->description = $post->post_content; + $item->date = $post->post_date; + $item->categories = $category_ids; + $item->order = $post->menu_order; + $item->_post_name = $post->post_name; + + $meta = get_post_meta($post->ID, $item->_post_meta_name, true); + $item->processPostMeta($meta); + + return $item; + } + + + /** + * Convert a standard WordPress post object into a CataBlogItem + * object. + * + * @param object $post A standard WordPress post object + * @return null|CataBlogItem + */ + public static function postToItem($post) { + if (empty($post)) { + return null; + } + + $item = new CataBlogItem; + + if ($post->post_type != $item->getCustomPostName()) { + return null; + } + + $category_ids = array(); + $terms = get_the_terms($post->ID, $item->_custom_tax_name); + if (is_array($terms)) { + foreach ($terms as $term) { + $category_ids[$term->term_id] = $term->name; + } + } + + $item->id = $post->ID; + $item->title = $post->post_title; + $item->description = $post->post_content; + $item->date = $post->post_date; + $item->categories = $category_ids; + $item->order = $post->menu_order; + $item->_post_name = $post->post_name; + + $meta = get_post_meta($post->ID, $item->_post_meta_name, true); + $item->processPostMeta($meta); + + return $item; + } + + + + /** + * Get just the id for every catalog item in the database. Returns + * an array of integers, or possibly an empty array. + * + * @return array + */ + public static function getItemIds() { + $items = array(); + + $cata = new CataBlogItem(); + + $params = array( + 'post_type'=> $cata->getCustomPostName(), + 'orderby'=>'menu_order', + 'order'=>'ASC', + 'numberposts' => -1, + ); + + $posts = get_posts($params); + $ids = array(); + foreach ($posts as $post) { + $ids[] = $post->ID; + } + + return $ids; + } + + + + + /** + * Get a collection of catalog items from the database. May + * possibly return an empty array. + * + * @param array $categories The array of category slugs to filter with. Will be ignored if false. + * @param string $operator Operator used to test the categories filter. Possible values are 'IN', 'NOT IN' or 'AND'. + * @param string $sort The database field used to sort the collection. Possible values are 'title', 'order', 'date' or 'random'. + * @param string $order The order the collection should be returned in. Possible values are 'asc' or 'desc'. + * @param integer $offset The start ordinal of the collection, or number of catalog items to skip over. + * @param integer $limit The maximum amount of catalog items allowed in the collection. + * @param boolean $load_categories Wether to load the category ids for each item of the collection. Possible large database hit. + * @return array An array of CataBlogItem objects + */ + public static function getItems($categories=false, $operator='IN', $sort='menu_order', $order='asc', $offset=0, $limit=-1, $load_categories=true) { + + $items = array(); + + $cata = new CataBlogItem(); + + $params = array( + 'post_type'=> $cata->getCustomPostName(), + 'orderby'=> $sort, + 'order'=>$order, + 'offset'=>$offset, + 'numberposts' => $limit, + ); + + if (!empty($categories)) { + + $tax_query_array = array( + array( + 'taxonomy' => $cata->getCustomTaxName(), + 'field' => 'id', + 'terms' => $categories, + 'operator' => $operator // 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' + ) + ); + $params['tax_query'] = $tax_query_array; + } + + $posts = get_posts($params); + + + // return an array of CataBlogItems + foreach ($posts as $post) { + + $item = new CataBlogItem(); + + $item->id = $post->ID; + $item->title = $post->post_title; + $item->description = $post->post_content; + $item->date = $post->post_date; + $item->categories = array(); + $item->order = $post->menu_order; + $item->_post_name = $post->post_name; + + $item_cats = array(); + if ($load_categories) { + $category_ids = array(); + $terms = get_the_terms($post->ID, $item->_custom_tax_name); + if (is_array($terms)) { + foreach ($terms as $term) { + $category_ids[$term->term_id] = $term->name; + } + } + $item->categories = $category_ids; + } + + $meta = get_post_meta($post->ID, $item->_post_meta_name, true); + $item->processPostMeta($meta); + + $items[] = $item; + } + + return $items; + } + + + + + /***************************************************** + ** - VALIDATE, SAVE & DELETE METHODS + *****************************************************/ + + + + + /** + * This function will validate that the data being stored in the CataBlogItem + * object is safe to be saved to the database. + * + * @return boolean|string Wether or not all the objects parameters are valid. + */ + public function validate() { + + // catablog item must have an image associated with it + if ($this->string_length($this->image) < 1) { + return __('An item must have an image associated with it.', 'catablog'); + } + + // check that the originals directory exists and is writable + $originals_directory = $this->_wp_upload_dir . "/catablog/originals"; + if (!is_writable($originals_directory)) { + return __("Can't write uploaded image to server, please make sure the catablog directory in you WordPress uploads folder is writable.", 'catablog'); + } + + // check that the title is at least one character long + if ($this->string_length($this->title) < 1) { + return __('An item must have a title of at least one alphanumeric character.', 'catablog'); + } + + // check that the title is less then 200 characters long + if ($this->string_length($this->title) > 200) { + return __("An item's title can not be more then 200 characters long.", 'catablog'); + } + + // check that date value is a valid format + if (!preg_match("/^\d{4}-\d{2}-\d{2} [0-2][0-9]:[0-5][0-9]:[0-5][0-9]$/", $this->date)) { + return __("An item's date must exactly match the MySQL date format, YYYY-MM-DD HH:MM:SS"); + } + + // check that the set date value is an actual day of the gregorian calendar + $year = substr($this->date,0,4); + $month = substr($this->date,5,2); + $day = substr($this->date,8,2); + if (!checkdate($month, $day, $year)) { + return __("An item's date must be an actual day on the gregorian calendar."); + } + + $hour = (int) substr($this->date,11,2); + if ($hour > 23) { + return __("An item's date hour must be below twenty-four."); + } + + // check that the item's order is a positive integer + if (intval($this->order) < 1) { + return __("An item's order value must be a positive integer.", 'catablog'); + } + + + // check that the price is a positive number + if ($this->string_length($this->price) > 0) { + if (is_numeric($this->price) == false || $this->price < 0) { + return __("An item's price must be a positive number.", 'catablog'); + } + } + + return true; + } + + + + + /** + * This function is used to validate an uploaded image and see if it is + * acceptable for CataBlog usage. + * + * @param string $image A file path to an uploaded image. + * @return boolean|string Wether or not the image is an acceptable format. + */ + public function validateImage($image) { + list($width, $height, $format) = @getimagesize($image); + switch($format) { + case IMAGETYPE_GIF: break; + case IMAGETYPE_JPEG: break; + case IMAGETYPE_PNG: break; + default: return __("The image could not be used because it is an unsupported format. JPEG, GIF and PNG formats only, please.", 'catablog'); + } + + // check if catablog is going over the storage space limit on multisite blogs + if (function_exists('get_upload_space_available')) { + if ($this->_main_image_changed) { + $space_available = get_upload_space_available(); + $image_size = filesize($this->image); + if ($image_size > $space_available) { + + $space_available = round(($space_available / 1024 / 1024), 2); + $image_size = round(($image_size / 1024 / 1024), 2); + + $error = __('Can not write uploaded image to server, your storage space is exhausted.', 'catablog') . '
    '; + $error .= __('Please delete some media files to free up space and try again.', 'catablog') . '
    '; + $error .= sprintf(__('You have %sMB of available space on your server and your image is %sMB.', 'catablog'), $space_available, $image_size); + return $error; + } + } + } + + return true; + } + + + + + /** + * This function will save the current CataBlogItem object to the + * database. If the object has an id set, it will update, otherwise + * it will create a new catalog item. + * + * @return boolean|string Wether or not the database write was successful. + */ + public function save() { + + + $params = array(); + $params['post_title'] = $this->title; + $params['post_name'] = sanitize_title($this->title); + $params['post_content'] = $this->description; + $params['menu_order'] = $this->order; + $params['post_date'] = $this->date; + + if ($this->id > 0) { + $params['ID'] = $this->id; + $update = wp_update_post($params); + if ($update == 0) { + return false; + } + } + else { + $params['post_status'] = 'publish'; + $params['comment_status'] = 'closed'; + $params['post_type'] = $this->_custom_post_name; + + $this->id = wp_insert_post($params); + if ($this->id === false) { + return false; + } + } + + // if the image has been set after loading process image + if ($this->_main_image_changed) { + + $filename = $_FILES['new_image']['name']; + $image_name = $this->unique_filename($filename); + $move_path = $this->_wp_upload_dir . "/catablog/originals/$image_name"; + + // move file to originals folder and set the filename in the object + $moved = move_uploaded_file($this->image, $move_path); + $this->image = $image_name; + + // save the new image's title to the post meta + $this->updatePostMeta(); + + // TODO REMOVE THIS NO LONGER NEEDED + // remove the old files associated with this item + // foreach ($this->_old_images as $old_image) { + // foreach (array('originals', 'thumbnails', 'fullsize') as $folder) { + // $path = $this->_wp_upload_dir."/catablog/$folder/$old_image"; + // if (is_file($path)) { + // unlink($path); + // } + // } + // } + + // generate a thumbnail for the new image + $this->makeThumbnail(); + if ($this->_options['lightbox-render']) { + $this->makeFullsize(); + } + + delete_transient('dirsize_cache'); // WARNING!!! transient label hard coded. + } + + // update post meta + $this->updatePostMeta(); + + // update post terms + // NOTE: this is the one instance where $this->categories should be an array on term ids, otherwise + // it is an array of term names keyed by term id. + $terms_set = wp_set_object_terms($this->id, $this->categories, $this->_custom_tax_name); + if ($terms_set instanceof WP_Error) { + return __("Could not set categories, please try again.", 'catablog'); + } + + return true; + } + + + + + /** + * This function removes the current CataBlogItem object from the + * database. The object must have an id greater then zero to actually + * delete the catalog item from the database. + * + * @param boolean $remove_images Wether or not the catalog item's associated images should be deleted from disc. + * @return void + */ + public function delete($remove_images=true) { + if ($this->id > 0) { + + // $this->deletePostMeta(); + wp_delete_post($this->id, true); + + // remove any associated images + if ($remove_images) { + $to_delete = array(); + $to_delete['original'] = $this->_wp_upload_dir . "/catablog/originals/" . $this->image; + $to_delete['thumbnail'] = $this->_wp_upload_dir . "/catablog/thumbnails/" . $this->image; + $to_delete['fullsize'] = $this->_wp_upload_dir . "/catablog/fullsize/" . $this->image; + + if (is_array($this->sub_images)) { + foreach ($this->sub_images as $key => $image) { + $to_delete["sub$key-original"] = $this->_wp_upload_dir . "/catablog/originals/" . $image; + $to_delete["sub$key-thumbnail"] = $this->_wp_upload_dir . "/catablog/thumbnails/" . $image; + $to_delete["sub$key-fullsize"] = $this->_wp_upload_dir . "/catablog/fullsize/" . $image; + } + } + + foreach ($to_delete as $file) { + if (is_file($file)) { + unlink($file); + } + } + + delete_transient('dirsize_cache'); // WARNING!!! transient label hard coded. + } + } + + } + + + + + /** + * Attach a new secondary image to the current CataBlogItem object. You + * should validate the image you wish to attach using validateImage before + * running this function with an uploaded file. + * + * @param string $tmp_path A file path to an uploaded image. + * @return boolean|string Wether or not the image was successfully attached to the catalog item. + */ + public function addSubImage($tmp_path) { + if (function_exists('get_upload_space_available')) { + $space_available = get_upload_space_available(); + $image_size = filesize($tmp_path); + + if ($image_size > $space_available) { + $space_available = round(($space_available / 1024 / 1024), 2); + $image_size = round(($image_size / 1024 / 1024), 2); + + $error = __('Can not write uploaded image to server, your storage space is exhausted.', 'catablog') . '
    '; + $error .= __('Please delete some media files to free up space and try again.', 'catablog') . '
    '; + $error .= sprintf(__('You have %sMB of available space on your server and your image is %sMB.', 'catablog'), $space_available, $image_size); + return $error; + } + } + + // check if any image is of a bad format + list($width, $height, $format) = getimagesize($tmp_path); + switch($format) { + case IMAGETYPE_GIF: break; + case IMAGETYPE_JPEG: break; + case IMAGETYPE_PNG: break; + default: return __("The image could not be used because it is an unsupported format. JPEG, GIF and PNG formats only, please.", 'catablog'); + } + + $filename = $_FILES['new_sub_image']['name']; + $image_name = $this->unique_filename($filename); + $move_path = $this->_wp_upload_dir . "/catablog/originals/$image_name"; + + // move file to originals folder and set the filename into sub images array in the object + $moved = move_uploaded_file($tmp_path, $move_path); + $this->sub_images[] = $image_name; + + $this->updatePostMeta(); + + // generate a thumbnail for the new image + $this->makeThumbnail($image_name); + if ($this->_options['lightbox-render']) { + $this->makeFullsize($image_name); + } + + delete_transient('dirsize_cache'); // WARNING!!! transient label hard coded. + + return true; + } + + + + + /***************************************************** + ** - IMAGE GENERATION METHODS + *****************************************************/ + + + + + public function makeFullsize($filepath=NULL) { + if ($filepath === NULL) { + $filepath = $this->getImage(); + } + + $original = $this->_wp_upload_dir . "/catablog/originals/" . $filepath; + $fullsize = $this->_wp_upload_dir . "/catablog/fullsize/" . $filepath; + $quality = 80; + + if (is_file($original) === false) { + return "$filepath: " . sprintf(__("Original image file missing, could not be located at %s", 'catablog'), $original); + } + + list($width, $height, $format) = getimagesize($original); + $canvas_size = $this->_options['image-size']; + + if ($width < 1 || $height < 1) { + return "$filepath: " . __("Original image dimensions are less then 1px. Most likely PHP does not have permission to read the original file.", 'catablog'); + } + + if ($width < $canvas_size && $height < $canvas_size) { + //original is smaller, do nothing.... + } + + + $ratio = ($height > $width)? ($canvas_size / $height) : ($canvas_size / $width); + $new_height = $height * $ratio; + $new_width = $width * $ratio; + + + // create a blank canvas of user specified size + $bg_color = $this->html2rgb($this->_options['background-color']); + $canvas = imagecreatetruecolor($new_width, $new_height); + + + switch($format) { + case IMAGETYPE_GIF: + $upload = imagecreatefromgif($original); + break; + case IMAGETYPE_JPEG: + $upload = imagecreatefromjpeg($original); + break; + case IMAGETYPE_PNG: + $upload = imagecreatefrompng($original); + break; + default: + return "$filepath: " . __("Original image could not be loaded because it is an unsupported format.", 'catablog'); + } + + imagecopyresampled($canvas, $upload, 0, 0, 0, 0, $new_width, $new_height, $width, $height); + + // rotate the final canvas to match the original files orientation + $canvas = $this->rotateImage($canvas, $original); + + imagejpeg($canvas, $fullsize, $quality); + + imagedestroy($canvas); + + return true; + } + + public function makeThumbnail($filepath=NULL) { + if ($filepath === NULL) { + $filepath = $this->getImage(); + } + + $original = $this->_wp_upload_dir . "/catablog/originals/" . $filepath; + $thumb = $this->_wp_upload_dir . "/catablog/thumbnails/" . $filepath; + $quality = 90; + + if (is_file($original) === false) { + return "$filepath: " . sprintf(__("Original image file missing, could not be located at %s", 'catablog'), $original); + } + + list($width, $height, $format) = @getimagesize($original); + $canvas_size = $this->_options['thumbnail-size']; + + if ($width < 1 || $height < 1) { + return "$filepath: " . __("Original image dimensions are less then 1px. Most likely PHP does not have permission to read the original file.", 'catablog'); + } + + + // create a blank canvas of user specified size and color + $bg_color = $this->html2rgb($this->_options['background-color']); + $canvas = imagecreatetruecolor($canvas_size, $canvas_size); + $bg_color = imagecolorallocate($canvas, $bg_color[0], $bg_color[1], $bg_color[2]); + imagefilledrectangle($canvas, 0, 0, $width, $height, $bg_color); + + + switch($format) { + case IMAGETYPE_GIF: + $upload = imagecreatefromgif($original); + break; + case IMAGETYPE_JPEG: + $upload = imagecreatefromjpeg($original); + break; + case IMAGETYPE_PNG: + $upload = imagecreatefrompng($original); + break; + default: + return "$filepath: " . __("Original image could not be loaded because it is an unsupported format.", 'catablog'); + } + + + $x_offset = 0; + $y_offset = 0; + if ($this->_options['keep-aspect-ratio']) { + if ($height > $width) { // resize to the height + $ratio = $canvas_size / $height; + $new_height = $height * $ratio; + $new_width = $width * $ratio; + $x_offset = ($canvas_size - $new_width) / 2; + } + else { // resize to the width + $ratio = $canvas_size / $width; + $new_height = $height * $ratio; + $new_width = $width * $ratio; + $y_offset = ($canvas_size - $new_height) / 2; + } + } + else { + if ($height > $width) { // resize to the height + $ratio = $canvas_size / $width; + $new_height = $height * $ratio; + $new_width = $width * $ratio; + $y_offset = ($canvas_size - $new_height) / 2; + } + else { // resize to the width + $ratio = $canvas_size / $height; + $new_height = $height * $ratio; + $new_width = $width * $ratio; + $x_offset = ($canvas_size - $new_width) / 2; + } + } + + imagecopyresampled($canvas, $upload, $x_offset, $y_offset, 0, 0, $new_width, $new_height, $width, $height); + + // rotate the final canvas to match the original files orientation + $canvas = $this->rotateImage($canvas, $original); + + imagejpeg($canvas, $thumb, $quality); + + imagedestroy($canvas); + + return true; + } + + + + + + /***************************************************** + ** - GETTER METHODS + *****************************************************/ + public function getId() { + return $this->id; + } + public function getTitle() { + return $this->title; + } + public function getDescription() { + return $this->description; + } + public function getDescriptionSummary() { + $no_line_breaks = str_replace(array("\r", "\n", "\r\n"), ' ', ($this->getDescription())); + $description_summary = substr($no_line_breaks, 0, 120); + $description_summary .= ($this->string_length($no_line_breaks) > 120)? '...' : ''; + return $description_summary; + } + public function getDate() { + return $this->date; + } + public function getImage() { + return $this->image; + } + public function getSubImages() { + return (is_array($this->sub_images))? $this->sub_images : array(); + } + public function getOrder() { + return $this->order; + } + public function getLink() { + return $this->link; + } + public function getPrice() { + return $this->price; + } + public function getProductCode() { + return $this->product_code; + } + public function getCategories() { + return $this->categories; + } + public function getCategorySlugs() { + global $wp_plugin_catablog_class; + + $slugs = array(); + $terms = $wp_plugin_catablog_class->get_terms(); + + foreach ($terms as $term) { + if ($this->inCategory($term->name)) { + $slugs[] = $term->slug; + } + } + + return $slugs; + } + public function getCustomPostName() { + return $this->_custom_post_name; + } + public function getCustomTaxName() { + return $this->_custom_tax_name; + } + public function getCSVArray() { + $image = $this->getImage(); + $subimages = implode('|', $this->getSubImages()); + $title = $this->getTitle(); + $description = $this->getDescription(); + $date = $this->getDate(); + $order = $this->getOrder(); + $link = $this->getLink(); + $price = $this->getPrice(); + $product_code = $this->getProductCode(); + $categories = implode('|', $this->getCategories()); + return array($image, $subimages, $title, $description, $date, $order, $link, $price, $product_code, $categories); + } + public function getPostMetaKey() { + return $this->_post_meta_name; + } + public function getPermalink() { + echo $this->id; + return get_permalink($this->id); + } + + + + /***************************************************** + ** - SETTER METHODS + *****************************************************/ + public function setId($id) { + $this->id = $id; + } + public function setTitle($title) { + $this->title = $title; + } + public function setDescription($description) { + $this->description = $description; + } + public function setDate($date) { + $this->date = $date; + } + public function setImage($image, $update=true) { + if ($update) { + $this->_old_images[] = $this->image; + $this->_main_image_changed = true; + } + + $this->image = $image; + } + public function setSubImage($image) { + $this->sub_images[] = $image; + $this->_sub_images_changed = true; + } + public function setSubImages($images) { + $this->sub_images = $images; + $this->_sub_images_changed = true; + } + public function setOrder($order) { + $this->order = $order; + } + public function setLink($link) { + $this->link = $link; + } + public function setPrice($price) { + $this->price = $price; + } + public function setProductCode($product_code) { + $this->product_code = $product_code; + } + public function setCategory($category) { + $this->categories[] = $category; + } + public function setCategories($categories) { + $this->categories = $categories; + } + + + + /***************************************************** + ** - CONDITIONAL METHODS + *****************************************************/ + public function inCategory($test_category) { + $bool = false; + foreach ($this->getCategories() as $category) { + if (strtolower($category) == strtolower($test_category)) { + $bool = true; + } + } + + return $bool; + } + + + /***************************************************** + ** - HELPER METHODS + *****************************************************/ + private function processPostMeta($meta) { + + // deserialize meta if necessary + if (is_serialized($meta)) { + $meta = unserialize($meta); + } + + // loop through meta array and set properties + if (is_array($meta)) { + foreach ($meta as $key => $value) { + $this->{str_replace('-', '_', $key)} = $value; + } + } + } + + private function updatePostMeta() { + $meta = array(); + $meta['image'] = $this->image; + $meta['sub-images'] = $this->sub_images; + $meta['link'] = $this->link; + $meta['price'] = $this->price; + $meta['product-code'] = $this->product_code; + + update_post_meta($this->id, $this->_post_meta_name, $meta); + } + + private function deletePostMeta() { + // remove the current post meta values from database + delete_post_meta($this->id, $this->_post_meta_name); + } + + private function deleteLegacyPostMeta() { + delete_post_meta($this->id, 'catablog-image'); + delete_post_meta($this->id, 'catablog-link'); + delete_post_meta($this->id, 'catablog-price'); + delete_post_meta($this->id, 'catablog-product-code'); + } + + private function getParameterArray() { + $param_names = array(); + foreach ($this as $name => $value) { + if (substr($name,0,1) != '_') { + $param_names[] = $name; + } + } + return $param_names; + } + + private function unique_filename($filename) { + $original = $filename; + $test_path = $this->_wp_upload_dir . "/catablog/originals/$filename"; + $count = 2; + + while (is_file($test_path) && $count < 1000) { + $filename_array = explode('.', $original); + $extension = array_pop($filename_array); + $filename_two = (implode('.', $filename_array)) . "-" . $count . "." . $extension; + + $test_path = $this->_wp_upload_dir . "/catablog/originals/$filename_two"; + $filename = $filename_two; + + $count++; + } + + return $filename; + } + // private function getSanitizedTitle() { + // $special_chars_removed = preg_replace("/[^a-zA-Z0-9s]/", "", $this->title); + // return sanitize_title($special_chars_removed) . ".jpg"; + // } + + private function html2rgb($color) { + if ($color[0] == '#') { + $color = substr($color, 1); + } + + if (strlen($color) == 6) { + list($r, $g, $b) = array($color[0].$color[1], $color[2].$color[3], $color[4].$color[5]); + } + elseif (strlen($color) == 3) { + list($r, $g, $b) = array($color[0].$color[0], $color[1].$color[1], $color[2].$color[2]); + } + else { + return false; + } + + $r = hexdec($r); + $g = hexdec($g); + $b = hexdec($b); + + return array($r, $g, $b); + } + + private function rotateImage($canvas, $original) { + if (function_exists('exif_read_data') && function_exists('imagerotate')) { + $orientation = 1; + $exif = @exif_read_data($original, 'EXIF', 0); + if ($exif) { + if (isset($exif['Orientation'])) { + $orientation = $exif['Orientation']; + } + } + + switch ($orientation) { + case 1: + $orientation = 0; + break; + case 3: + $orientation = 180; + break; + case 6: + $orientation = -90; + break; + case 8: + $orientation = 90; + break; + } + + if ($orientation != 0) { + $canvas = imagerotate($canvas, $orientation, 0); + } + + } + // die; + return $canvas; + } + + public function string_length($string) { + if (function_exists('mb_strlen')) { + return mb_strlen($string); + } + else { + return strlen($string); + } + } + + +} diff --git a/src/wp-content/plugins/catablog/lib/catablog.upload.php b/src/wp-content/plugins/catablog/lib/catablog.upload.php new file mode 100644 index 0000000..cf88ed6 --- /dev/null +++ b/src/wp-content/plugins/catablog/lib/catablog.upload.php @@ -0,0 +1,112 @@ +Cannot locate wp-load.php. Please read more at catablog.illproductions.com"); +} + +// let's load WordPress +require_once( WP_LOAD_PATH . 'wp-load.php'); + +// Flash often fails to send cookies with the POST or upload, so we need to pass it in GET or POST instead +if ( is_ssl() && empty($_COOKIE[SECURE_AUTH_COOKIE]) && !empty($_REQUEST['auth_cookie']) ) + $_COOKIE[SECURE_AUTH_COOKIE] = $_REQUEST['auth_cookie']; +elseif ( empty($_COOKIE[AUTH_COOKIE]) && !empty($_REQUEST['auth_cookie']) ) + $_COOKIE[AUTH_COOKIE] = $_REQUEST['auth_cookie']; +if ( empty($_COOKIE[LOGGED_IN_COOKIE]) && !empty($_REQUEST['logged_in_cookie']) ) + $_COOKIE[LOGGED_IN_COOKIE] = $_REQUEST['logged_in_cookie']; + + +unset($current_user); + + +require_once( ABSPATH . '/wp-admin/admin.php'); + + +header('Content-Type: text/plain; charset='.get_option('blog_charset')); + + +if (!is_user_logged_in()) { + die("
  • ".__('Login failure. You must be logged into the WordPress Admin section.', 'catablog')."
  • "); +} + +if ( !current_user_can('edit_posts')) { + die("
  • ".__('Your Admin account does not have permission to "edit_posts".', 'catablog')."
  • "); +} + +check_admin_referer('catablog_swfupload'); + +global $wp_plugin_catablog_class; + +$tmp_name = $_FILES['Filedata']['tmp_name']; +$_FILES['new_image'] = $_FILES['Filedata']; +if (strlen($tmp_name) < 1) { + die("
  • ".__('Image could not be uploaded to the server, please try again.', 'catablog')."
  • "); +} + +$new_item = new CataBlogItem(); +$valid_image = $new_item->validateImage($tmp_name); +if ($valid_image === true) { + $new_item_title = $_FILES['Filedata']['name']; + $new_item_title = preg_replace('/\.[^.]+$/','',$new_item_title); + $new_item_title = str_replace(array('_','-','.'), ' ', $new_item_title); + $new_item_order = wp_count_posts($new_item->custom_post_name)->publish + 1; + + $new_item->setOrder($new_item_order); + $new_item->setTitle($new_item_title); + + $new_item->setImage($tmp_name); + $new_item->setSubImages(array()); + + $default_term = $wp_plugin_catablog_class->get_default_term(); + $new_item->setCategories(array($default_term->term_id=>$default_term->name)); + + $new_item->save(); + + $html = "
  • "; + + $html .= "
    "; + $html .= "getImage()."' />"; + $html .= "
    "; + + $html .= "
    "; + $html .= ""; + $html .= ""; + $html .= ""; + $html .= ""; + $html .= "
    "; + + $html .= "
  • "; + + die($html); +} +else { + die("
  • ".$valid_image."
  • "); +} diff --git a/src/wp-content/plugins/catablog/license.txt b/src/wp-content/plugins/catablog/license.txt new file mode 100644 index 0000000..9957bc0 --- /dev/null +++ b/src/wp-content/plugins/catablog/license.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/localization/catablog-de_DE.mo b/src/wp-content/plugins/catablog/localization/catablog-de_DE.mo new file mode 100644 index 0000000..24ba7cb Binary files /dev/null and b/src/wp-content/plugins/catablog/localization/catablog-de_DE.mo differ diff --git a/src/wp-content/plugins/catablog/localization/catablog-de_DE.po b/src/wp-content/plugins/catablog/localization/catablog-de_DE.po new file mode 100644 index 0000000..1eed1ff --- /dev/null +++ b/src/wp-content/plugins/catablog/localization/catablog-de_DE.po @@ -0,0 +1,1644 @@ +# Copyright (C) 2010 CataBlog +# This file is distributed under the same license as the CataBlog package. +msgid "" +msgstr "" +"Project-Id-Version: CataBlog 1.2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-06-03 15:20-0800\n" +"PO-Revision-Date: 2011-06-03 15:21-0800\n" +"Last-Translator: Zachary Segal \n" +"Language-Team: illProductions \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: German\n" +"X-Poedit-Country: GERMANY\n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: ./..\n" + +#: ../catablog.php:94 +msgid "CataBlog requires PHP 5 or better running on your web server. You're version of PHP is to old, please contact your hosting company or IT department for an upgrade. Thanks." +msgstr "CataBlog benötigt mindestens PHP 5. Die eingesetzte PHP-Version ist zu alt. Bitte kontaktiere Hosting-Anbieter oder IT-Abteilung für ein Upgrade. Danke." + +#: ../catablog.php:99 +msgid "CataBlog requires that the GD Library be installed on your web server's version of PHP. Please contact your hosting company or IT department for more information. Thanks." +msgstr "CataBlog benötigt GD Library. Bitte kontaktiere Hosting-Anbieter oder IT-Abteilung für weitere Informationen. Danke." + +#: ../catablog.php:104 +msgid "CataBlog requires WordPress 3.1 or above. Please upgrade WordPress or contact your system administrator about upgrading." +msgstr "CataBlog benötigt mindestens WordPress 3.1. Bitte aktualisiere WordPress oder wende dich an den Administrator für ein Upgrade." + +#: ../catablog.php:110 +msgid "CataBlog could not detect your upload directory or it is not writable by PHP. Please make sure Apache and PHP have write permission for the configured uploads folder. Contact your hosting company or IT department for more information. Thanks." +msgstr "CataBlog konnte das Upload-Verzeichnis nicht finden. Bitte überprüfe, ob Apache und PHP über Schreibrechte im Upload-Verzeichnis verfügen. Bitte kontaktiere Hosting-Anbieter oder IT-Abteilung für weitere Informationen. Danke." + +#: ../lib/CataBlog.class.php:189 +msgid "Uncategorized" +msgstr "Ohne Kategorie" + +#: ../lib/CataBlog.class.php:199 +msgid "CataBlog Item" +msgstr "CataBlog-Eintrag" + +#: ../lib/CataBlog.class.php:204 +msgid "A Catalog Item, generated by CataBlog." +msgstr "Ein von CataBlog generierter Eintrag." + +#: ../lib/CataBlog.class.php:215 +msgid "CataBlog Category" +msgstr "CataBlog-Kategorie" + +#: ../lib/CataBlog.class.php:298 +#: ../templates/admin-404.php:11 +#: ../templates/admin-library.php:9 +msgid "CataBlog Library" +msgstr "CataBlog-Einträge" + +#: ../lib/CataBlog.class.php:298 +#: ../lib/CataBlog.class.php:362 +msgid "Library" +msgstr "Einträge" + +#: ../lib/CataBlog.class.php:299 +#: ../templates/admin-new.php:4 +msgid "Add New CataBlog Entry" +msgstr "Neuen CataBlog-Eintrag hinzufügen" + +#: ../lib/CataBlog.class.php:299 +#: ../lib/CataBlog.class.php:363 +#: ../templates/admin-library.php:10 +msgid "Add New" +msgstr "Eintrag hinzufügen" + +#: ../lib/CataBlog.class.php:300 +msgid "CataBlog Options" +msgstr "CataBlog-Einstellungen" + +#: ../lib/CataBlog.class.php:300 +#: ../lib/CataBlog.class.php:364 +msgid "Options" +msgstr "Einstellungen" + +#: ../lib/CataBlog.class.php:301 +#: ../templates/admin-about.php:4 +msgid "About CataBlog" +msgstr "Über CataBlog" + +#: ../lib/CataBlog.class.php:301 +#: ../lib/CataBlog.class.php:365 +msgid "About" +msgstr "Über" + +#: ../lib/CataBlog.class.php:353 +#: ../templates/admin-edit.php:4 +msgid "Edit CataBlog Entry" +msgstr "CataBlog-Eintrag bearbeiten" + +#: ../lib/CataBlog.class.php:361 +#: ../templates/admin-discfull.php:22 +msgid "CataBlog" +msgstr "CataBlog" + +#: ../lib/CataBlog.class.php:368 +msgid "CataBlog Entry" +msgstr "CataBlog-Eintrag" + +#: ../lib/CataBlog.class.php:534 +#: ../lib/CataBlog.class.php:567 +msgid "Changes Saved Successfully." +msgstr "Änderungen übernommen." + +#: ../lib/CataBlog.class.php:537 +msgid "Catalog Item Deleted Successfully." +msgstr "Eintrag entfernt." + +#: ../lib/CataBlog.class.php:540 +msgid "Could Not Delete Item Because ID was non existent." +msgstr "Eintrag konnte nicht entfernt werden, da ID nicht existiert." + +#: ../lib/CataBlog.class.php:543 +msgid "Could not verify bulk edit action nonce, please refresh page and try again." +msgstr "Aktion konnte nicht ausgeführt werden. Bitte lade die Seite neu und versuche es erneut." + +#: ../lib/CataBlog.class.php:546 +msgid "Bulk categories edit performed successfully." +msgstr "Kategorien geändert." + +#: ../lib/CataBlog.class.php:549 +msgid "Bulk delete performed successfully." +msgstr "Einträge entfernt." + +#: ../lib/CataBlog.class.php:552 +msgid "Reset all data successfully." +msgstr "Zürucksetzen erfolgreich." + +#: ../lib/CataBlog.class.php:571 +msgid "View Now" +msgstr "Ansicht" + +#: ../lib/CataBlog.class.php:632 +msgid "CataBlog Options Saved" +msgstr "CataBlog-Einstellungen gespeichert" + +#: ../lib/CataBlog.class.php:677 +msgid "Please Let The Rendering Below Complete Before Navigating Away From This Page" +msgstr "Bitte warte bis die Bildverarbeitung abgeschlossen ist, bevor du diese Seite verlässt." + +#: ../lib/CataBlog.class.php:699 +msgid "Form Validation Error. Please reload the page and try again." +msgstr "Eingabefehler. Bitte lade die Seite neu und versuche es erneut." + +#: ../lib/CataBlog.class.php:725 +#: ../lib/CataBlog.class.php:726 +#: ../lib/CataBlog.class.php:727 +msgid "not present" +msgstr "nicht vorhanden" + +#: ../lib/CataBlog.class.php:815 +msgid "The file you selected was to large or you didn't select anything at all, please try again." +msgstr "Die gewählte Datei ist zu groß oder es wurde nichts ausgewählt. Bitte versuche es erneut." + +#: ../lib/CataBlog.class.php:819 +#: ../lib/CataBlog.class.php:871 +#: ../lib/CataBlog.class.php:923 +#: ../lib/CataBlog.class.php:961 +#: ../lib/CataBlog.class.php:1094 +msgid "WordPress Nonce Error, please reload the form and try again." +msgstr "WordPress-Fehler. Bitte lade die Seite neu und versuche es erneut." + +#: ../lib/CataBlog.class.php:875 +msgid "full form was not submitted, please try again." +msgstr "Formular unvollständig. Bitte versuche es erneut." + +#: ../lib/CataBlog.class.php:919 +#: ../lib/CataBlog.class.php:957 +msgid "You didn't select anything to upload, please try again." +msgstr "Nichts ausgewählt. Bitte versuche es erneut." + +#: ../lib/CataBlog.class.php:927 +#: ../lib/CataBlog.class.php:965 +msgid "No item ID posted, press back arrow and try again." +msgstr "Keine ID gewählt. Bitte versuche es erneut." + +#: ../lib/CataBlog.class.php:1008 +msgid "Please make your selection by checking the boxes in the list below." +msgstr "Bitte wähle aus der folgenden Liste." + +#: ../lib/CataBlog.class.php:1054 +#, php-format +msgid "Error during set category, could not load item with id %s." +msgstr "Fehler. Eintrag mit der ID %s konnte nicht geladen werden." + +#: ../lib/CataBlog.class.php:1072 +#, php-format +msgid "Error during bulk delete, could not load item with id %s." +msgstr "Fehler. Eintrag mit der ID %s konnte nicht geladen werden." + +#: ../lib/CataBlog.class.php:1103 +msgid "No file was selected for upload, please try again." +msgstr "Nichts ausgewählt. Bitte versuche es erneut." + +#: ../lib/CataBlog.class.php:1112 +msgid "Uploaded XML File Could Not Be Parsed, Check That The File's Content Is Valid XML." +msgstr "XML-Dokument konnte nicht verarbeitet werden. Überprüfe, ob die Datei valide ist." + +#: ../lib/CataBlog.class.php:1118 +msgid "Uploaded CSV File Could Not Be Parsed, Check That The File's Format Is Valid." +msgstr "CSV-Dokument konnte nicht verarbeitet werden. Überprüfe, ob die Datei valide ist." + +#: ../lib/CataBlog.class.php:1122 +msgid "Uploaded file was not of proper format, please make sure the filename has an xml or csv extension." +msgstr "Dateiformat unbekannt. Bitte überprüfe, ob die Dateiendung .xml oder .csv lautet." + +#: ../lib/CataBlog.class.php:1189 +msgid "The CataBlog upload directories have been unlocked." +msgstr "Die CataBlog-Upload-Verzeichnisse sind freigegeben." + +#: ../lib/CataBlog.class.php:1192 +#: ../lib/CataBlog.class.php:1205 +msgid "Could not lock/unlock the directory. Are you using a unix based server?" +msgstr "Verzeichnis konnte nicht gesperrt/freigegeben werden. Bist du sicher, dass ein UNIX-Server eingesetzt wird?" + +#: ../lib/CataBlog.class.php:1202 +msgid "The CataBlog upload directories have been locked." +msgstr "Die CataBlog-Upload-Verzeichnisse sind gesperrt." + +#: ../lib/CataBlog.class.php:1319 +msgid "micro save successful" +msgstr "" + +#: ../lib/CataBlog.class.php:1347 +msgid "Screen Options updated successfully." +msgstr "Anzeigeeinstellungen erfolgreich aktualisiert." + +#: ../lib/CataBlog.class.php:1376 +msgid "Commas, Pipes and reserved HTML characters are not allowed in category names." +msgstr "Kategoriename enthält ungültige Zeichen." + +#: ../lib/CataBlog.class.php:1382 +msgid "Please be a little more specific with your category name." +msgstr "Bitte sei etwas eindeutiger mit dem Kategorienamen." + +#: ../lib/CataBlog.class.php:1394 +msgid "There already is a category with that name." +msgstr "Dieser Kategoriename existiert bereits." + +#: ../lib/CataBlog.class.php:1423 +msgid "Term Removed Successfully." +msgstr "Löschen erfolgreich." + +#: ../lib/CataBlog.class.php:1426 +msgid "Term did not exist, please refresh page and try again." +msgstr "Bezeichnung existiert nicht. Bitte lade die Seite neu und versuche es erneut." + +#: ../lib/CataBlog.class.php:1468 +msgid "unsupported image size type" +msgstr "Bildgröße nicht unterstützt." + +#: ../lib/CataBlog.class.php:1477 +#, php-format +msgid "Rendering... %s of %s" +msgstr "Bildverarbeitung... %s von %s" + +#: ../lib/CataBlog.class.php:1479 +msgid "Image rendering is now complete." +msgstr "Bildverarbeitung abgeschlossen." + +#: ../lib/CataBlog.class.php:1520 +msgid "error" +msgstr "Fehler" + +#: ../lib/CataBlog.class.php:1523 +msgid "sub image deleted successfully" +msgstr "Löschen erfolgreich." + +#: ../lib/CataBlog.class.php:1542 +#, php-format +msgid "%s library items deleted successfully." +msgstr "%s Einträge entfernt." + +#: ../lib/CataBlog.class.php:1545 +msgid "CataBlog Library Cleared Successfully." +msgstr "CataBlog-Einträge entfernt." + +#: ../lib/CataBlog.class.php:1558 +msgid "CataBlog Options, Directories and Terms Deleted Successfully." +msgstr "CataBlog-Einstellungen, Verzeichnisse und Bezeichnungen entfernt." + +#: ../lib/CataBlog.class.php:1559 +msgid "You may now go deactivate CataBlog and nothing will be left behind." +msgstr "Du kannst nun CataBlog deaktivieren. Es bleibt nichts zurück." + +#: ../lib/CataBlog.class.php:1560 +msgid "If you want to continue using CataBlog, go to the library to re-install necessary settings." +msgstr "Wenn du CataBlog wieder nutzen möchtest, installiere alles Nötige erneut." + +#: ../lib/CataBlog.class.php:1695 +#, php-format +msgid "CataBlog %s LightBox Styles | %s" +msgstr "CataBlog %s LightBox Styles | %s" + +#: ../lib/CataBlog.class.php:1715 +msgid "You may also press "P" or the left arrow on your keyboard" +msgstr "Die linke Pfeiltaste oder "P" kann auch genutzt werden." + +#: ../lib/CataBlog.class.php:1716 +msgid "You may also press "N" or the right arrow on your keyboard" +msgstr "Die rechte Pfeiltaste oder "N" kann auch genutzt werden." + +#: ../lib/CataBlog.class.php:1717 +msgid "Close LightBox Now" +msgstr "LightBox schließen" + +#: ../lib/CataBlog.class.php:1718 +msgid "PREV" +msgstr "zurück" + +#: ../lib/CataBlog.class.php:1719 +msgid "NEXT" +msgstr "weiter" + +#: ../lib/CataBlog.class.php:1720 +msgid "CLOSE" +msgstr "schließen" + +#: ../lib/CataBlog.class.php:1724 +#, php-format +msgid "CataBlog %s LightBox JavaScript | %s" +msgstr "CataBlog %s LightBox JavaScript | %s" + +#: ../lib/CataBlog.class.php:1726 +msgid "End CataBlog LightBox JavaScript" +msgstr "Beende CataBlog LightBox JavaScript" + +#: ../lib/CataBlog.class.php:1920 +#, php-format +msgid "CataBlog ShortCode Parameter Error: The template attribute of this ShortCode points to a file that does not exist. Please make sure their is a file with the name '%s.htm' in the views directory." +msgstr "CataBlog-ShortCode-Parameter-Fehler: Das Vorlagenattribut dieses ShortCodes zeigt auf eine Datei, die nicht existiert. Bitte überprüfe, ob sich eine Datei namens '%s.htm' im Verzeichnis befindet." + +#: ../lib/CataBlog.class.php:1921 +#: ../templates/admin-library.php:20 +msgid "Learn More" +msgstr "Erfahre mehr" + +#: ../lib/CataBlog.class.php:2032 +#, php-format +msgid "CataBlog options and directories have been successfully installed. Please, %srefresh now%s" +msgstr "CataBlog-Einstellungen und -Verzeichnisse wurden eingespielt. Bitte %sneu laden%s" + +#: ../lib/CataBlog.class.php:2085 +#, php-format +msgid "There was an error creating the default term: %s" +msgstr "Fehler beim Erstellen der Standardbezeichnung: %s" + +#: ../lib/CataBlog.class.php:2123 +msgid "CataBlog options and directories have been successfully upgraded." +msgstr "CataBlog-Einstellungen und -Verzeichnisse wurden aktualisiert." + +#: ../lib/CataBlog.class.php:2357 +#: ../lib/CataBlog.class.php:2397 +#: ../lib/CataBlog.class.php:2400 +#: ../lib/CataBlog.class.php:2403 +msgid "Error:" +msgstr "Fehler:" + +#: ../lib/CataBlog.class.php:2371 +msgid "Success:" +msgstr "Erfolg:" + +#: ../lib/CataBlog.class.php:2371 +#, php-format +msgid " %s inserted into catalog categories." +msgstr "%s in Kategorien eingefügt." + +#: ../lib/CataBlog.class.php:2379 +msgid "All New Categories Created" +msgstr "Alle neuen Kategorien erstellt" + +#: ../lib/CataBlog.class.php:2383 +msgid "No New Categories Created" +msgstr "Keine neuen Kategorien erstellt" + +#: ../lib/CataBlog.class.php:2396 +msgid "Update:" +msgstr "Aktualisierung:" + +#: ../lib/CataBlog.class.php:2396 +#, php-format +msgid " %s updated in database." +msgstr "%s in Datenbank aktualisiert." + +#: ../lib/CataBlog.class.php:2397 +#, php-format +msgid " %s was not inserted into the database." +msgstr "%s wurde nicht in die Datenbank eingefügt." + +#: ../lib/CataBlog.class.php:2400 +msgid "Item had no title and could not be made." +msgstr "Eintrag hat keinen Titel und konnte nicht erstellt werden." + +#: ../lib/CataBlog.class.php:2403 +msgid "Item had no primary image name and could not be made." +msgstr "Eintrag hat kein Bild und konnte nicht erstellt werden." + +#: ../lib/CataBlog.class.php:2440 +msgid "Insert:" +msgstr "Einfügen:" + +#: ../lib/CataBlog.class.php:2440 +#, php-format +msgid " %s inserted into the database." +msgstr "%s in Datenbank eingefügt." + +#: ../lib/CataBlog.class.php:2465 +msgid "All Catalog Items Processed" +msgstr "Alle Einträge verarbeitet" + +#: ../lib/CataBlog.class.php:2530 +msgid "Uploaded File Exceeded The PHP Configurations Max File Size." +msgstr "Hochgeladene Datei überschreitet die maximale Dateigröße, die PHP zulässt." + +#: ../lib/CataBlog.class.php:2533 +msgid "Upload File Exceeded The HTML Form's Max File Size." +msgstr "Hochgeladene Datei überschreitet die maximale Dateigröße, die das Formular zulässt." + +#: ../lib/CataBlog.class.php:2536 +msgid "File Only Partially Uploaded, Please Try Again." +msgstr "Datei nur teilweise hochgeladen. Bitte versuche es erneut." + +#: ../lib/CataBlog.class.php:2539 +msgid "No File Selected For Upload. Please Resubmit The Form." +msgstr "Keine Datei gewählt. Bitte versuche es erneut." + +#: ../lib/CataBlog.class.php:2542 +msgid "Your Server's PHP Configuration Does Not Have A Temporary Folder For Uploads, Please Contact The System Admin." +msgstr "In der PHP-Konfiguration ist kein temporäres Verzeichnis für Uploads. Bitte kontaktiere den Systemadministrator." + +#: ../lib/CataBlog.class.php:2545 +msgid "Your Server's PHP Configuration Can Not Write To Disc, Please Contact The System Admin." +msgstr "In der PHP-Konfiguration ist das Schreiben auf die Festplatte deaktiviert. Bitte kontaktiere den Systemadministrator." + +#: ../lib/CataBlog.class.php:2548 +msgid "A PHP Extension Is Blocking PHP From Excepting Uploads, Please Contact The System Admin." +msgstr "Eine PHP-Erweiterung blockiert PHP-Aktualisierungen. Bitte kontaktiere den Systemadministrator." + +#: ../lib/CataBlog.class.php:2551 +msgid "An Unknown Upload Error Has Occurred" +msgstr "Ein unbekannter Fehler ist bein Upload aufgetreten" + +#: ../lib/catablog.upload.php:57 +msgid "Login failure. You must be logged into the WordPress Admin section." +msgstr "" + +#: ../lib/catablog.upload.php:61 +msgid "Your Admin account does not have permission to \"edit_posts\"." +msgstr "" + +#: ../lib/catablog.upload.php:71 +#, fuzzy +msgid "Image could not be uploaded to the server, please try again." +msgstr "Kategorien konnten nicht gewählt werden. Bitte versuche es erneut." + +#: ../lib/catablog.upload.php:103 +#: ../templates/admin-edit.php:78 +msgid "Save Changes" +msgstr "Änderungen speichern" + +#: ../lib/CataBlogDirectory.class.php:12 +#: ../lib/CataBlogDirectory.class.php:109 +msgid "Could not open directory." +msgstr "Verzeichnis kann nicht geöffnet werden." + +#: ../lib/CataBlogItem.class.php:285 +msgid "An item must have an image associated with it." +msgstr "Einem Eintrag muss ein Bild besitzen." + +#: ../lib/CataBlogItem.class.php:291 +msgid "Can't write uploaded image to server, please make sure the catablog directory in you WordPress uploads folder is writable." +msgstr "Hochgeladenes Bild konnte nicht gespeichert werden. Bitte überprüfe, ob in das CataBlog-Verzeichnis im WordPress-Verzeichnis geschrieben werden kann." + +#: ../lib/CataBlogItem.class.php:296 +msgid "An item must have a title of at least one alphanumeric character." +msgstr "Ein Eintrag muss einen Titel, bestehend aus mindestens einem alphanumerischen Zeichen, besitzen." + +#: ../lib/CataBlogItem.class.php:301 +msgid "An item's title can not be more then 200 characters long." +msgstr "Der Titel kann maximal 200 Zeichen umfassen." + +#: ../lib/CataBlogItem.class.php:306 +msgid "An item's date must exactly match the MySQL date format, YYYY-MM-DD HH:MM:SS" +msgstr "Das Datum eines Eintrags muss im MySQL-Datumsformat vorliegen, YYYY-MM-DD HH:MM:SS" + +#: ../lib/CataBlogItem.class.php:314 +msgid "An item's date must be an actual day on the gregorian calendar." +msgstr "Das Datum eines Eintrags muss einem tatsächlichem Tag im Gregorianischen Kalender entsprechen." + +#: ../lib/CataBlogItem.class.php:319 +msgid "An item's date hour must be below twenty-four." +msgstr "Die Stundenangabe muss unter 24 liegen." + +#: ../lib/CataBlogItem.class.php:324 +msgid "An item's order value must be a positive integer." +msgstr "Der Sortierwert muss ganzzahlig und positiv sein." + +#: ../lib/CataBlogItem.class.php:331 +msgid "An item's price must be a positive number." +msgstr "Der Preis muss positiv sein." + +#: ../lib/CataBlogItem.class.php:354 +#: ../lib/CataBlogItem.class.php:541 +msgid "The image could not be used because it is an unsupported format. JPEG, GIF and PNG formats only, please." +msgstr "Das Bild besitzt ein nicht unterstütztes Format. JPEG, GIF und PNG sind möglich." + +#: ../lib/CataBlogItem.class.php:367 +#: ../lib/CataBlogItem.class.php:528 +msgid "Can not write uploaded image to server, your storage space is exhausted." +msgstr "Bild konnte nicht gespeichert werden. Es steht kein Speicherplatz zur Verfügung." + +#: ../lib/CataBlogItem.class.php:368 +#: ../lib/CataBlogItem.class.php:529 +msgid "Please delete some media files to free up space and try again." +msgstr "Bitte lösch ein paar Dateien um Platz zu schaffen und versuche es erneut." + +#: ../lib/CataBlogItem.class.php:369 +#: ../lib/CataBlogItem.class.php:530 +#, php-format +msgid "You have %sMB of available space on your server and your image is %sMB." +msgstr "Du hast %sMB Speicherplatz zur Verfügung. Das Bild ist %sMB groß." + +#: ../lib/CataBlogItem.class.php:458 +msgid "Could not set categories, please try again." +msgstr "Kategorien konnten nicht gewählt werden. Bitte versuche es erneut." + +#: ../lib/CataBlogItem.class.php:585 +#: ../lib/CataBlogItem.class.php:646 +#, php-format +msgid "Original image file missing, could not be located at %s" +msgstr "Original Bilddatei fehlt. Sie konnte nicht in %s gefunden werden" + +#: ../lib/CataBlogItem.class.php:592 +#: ../lib/CataBlogItem.class.php:653 +msgid "Original image dimensions are less then 1px. Most likely PHP does not have permission to read the original file." +msgstr "Die Abmessungen des Originalbildes betragen weniger als 1 px. Wahrscheinlich besitzt PHP keine Leseberechtigung." + +#: ../lib/CataBlogItem.class.php:621 +#: ../lib/CataBlogItem.class.php:675 +msgid "Original image could not be loaded because it is an unsupported format." +msgstr "Originalbild konnte nicht geladen werden, da es ein nicht unterstütztes Format besitzt." + +#: ../templates/admin-404.php:4 +msgid "CataBlog Item Not Found" +msgstr "CataBlog-Eintrag nicht gefunden" + +#: ../templates/admin-404.php:8 +msgid "You attempted to edit an item that doesn't exist. Perhaps it was deleted?" +msgstr "Du hast versucht einen Eintrag zu bearbeiten, der nicht existiert. Wurde er gelöscht?" + +#: ../templates/admin-404.php:10 +#: ../templates/admin-discfull.php:19 +msgid "Go To:" +msgstr "Gehe zu:" + +#: ../templates/admin-404.php:12 +#: ../templates/admin-discfull.php:20 +msgid "Dashboard" +msgstr "Dashboard" + +#: ../templates/admin-about.php:9 +#, php-format +msgid "%sCataBlog%s is written by %sZachary Segal%s in his spare time." +msgstr "%sCataBlog%s wurde von %sZachary Segal%s in seiner Freizeit geschrieben." + +#: ../templates/admin-about.php:10 +#, php-format +msgid "It is a cataloging tool for %sWordPress%s that allows you to easily manage a list of items with automatically generated thumbnail images." +msgstr "Es ist ein Werkzeug für %sWordPress%s, das es möglich macht, Listen mit automatisch generierten Thumbnails zu erstellen." + +#: ../templates/admin-about.php:11 +#, php-format +msgid "Use of CataBlog is completely free, even commercial sites for now, all that I ask is that you rate the plugin at the %sWordPress Plugin Repository%s." +msgstr "Die Nutzung von CataBlog ist kostenlos, sogar für kommerzielle Seiten. Ich bitte jedoch darum, das Plugin im %sWordPress Plugin Repository%s zu bewerten." + +#: ../templates/admin-about.php:15 +#, php-format +msgid "%sCSS Modifications:%s You may always override CataBlog's CSS settings to create custom looks. If you make a catablog.css file in your active theme's directory it will be automatically loaded and applied. This makes it easy to prepare your custom theme for CataBlog integration and will also protect your customization for future version to come." +msgstr "%sCSS Modifikationen:%s Du kannst jederzeit CataBlogs CSS-Einstellungen überschreiben, um das Aussehen anzupassen. Erstellst du eine catablog.css-Datei im aktiven Theme-Verzeichnis, wird diese automatisch geladen und angewendet." + +#: ../templates/admin-about.php:20 +msgid "Server Statistics" +msgstr "Statistik" + +#: ../templates/admin-about.php:38 +msgid "CataBlog Version:" +msgstr "CataBlog-Version:" + +#: ../templates/admin-about.php:39 +msgid "MySQL Version:" +msgstr "MySQL-Version:" + +#: ../templates/admin-about.php:40 +msgid "PHP Version:" +msgstr "PHP-Version:" + +#: ../templates/admin-about.php:41 +msgid "PHP Memory Usage:" +msgstr "PHP-Speicherverbrauch:" + +#: ../templates/admin-about.php:42 +msgid "PHP Memory Limit:" +msgstr "PHP-Speicherlimit:" + +#: ../templates/admin-about.php:43 +msgid "Max Uploaded File Size:" +msgstr "Max. Upload-Größe:" + +#: ../templates/admin-about.php:44 +msgid "Max Post size:" +msgstr "Max. Eingabegröße:" + +#: ../templates/admin-about.php:45 +msgid "Thumbnail Disc Usage:" +msgstr "Thumbnail-Speicherverbrauch:" + +#: ../templates/admin-about.php:46 +msgid "Full Size Disc Usage:" +msgstr "Großansicht-Speicherverbrauch:" + +#: ../templates/admin-about.php:47 +msgid "Original Upload Disc Usage:" +msgstr "Originalbild-Speicherverbrauch:" + +#: ../templates/admin-about.php:48 +msgid "Total Disc Usage:" +msgstr "Gesamtspeicherverbrauch:" + +#: ../templates/admin-contextual-help.php:11 +msgid "You may edit your catalog entry as you see fit in this panel." +msgstr "Du kannst hier den Eintrag bearbeiten." + +#: ../templates/admin-contextual-help.php:12 +msgid "Notice that the description accepts HTML code. This makes it easy to refine your catalog layout inside your description." +msgstr "In der Beschreibung kannst du HTML verwenden. Dies kann zum Anpassen des Layouts genutzt werden." + +#: ../templates/admin-contextual-help.php:17 +msgid "CataBlog is a comprehensive and easy to use cataloging system for WordPress. " +msgstr "CataBlog ist ein leicht verständliches und einfach zu bedienendes Katalogisierungssystem für WordPress." + +#: ../templates/admin-contextual-help.php:19 +msgid "Get started by making your first catalog item, click the Add New button near the page title. " +msgstr "Klicke Eintrag hinzufügen um einen Katalogeintrag zu erstellen." + +#: ../templates/admin-contextual-help.php:22 +#, php-format +msgid "You may learn more about CataBlog at %scatablog.illproductions.com%s. " +msgstr "Erfahre mehr über CataBlog auf %scatablog.illproductions.com%s." + +#: ../templates/admin-contextual-help.php:25 +#, php-format +msgid "A lot of time and effort has gone into creating this plugin, %splease donate%s to Zach and help the continued development of CataBlog." +msgstr "Die Entwicklung dieses Plugins hat eine Menge Zeit und Aufwand erfordert. Du kannst Zach durch eine %sSpende%s unterstützen, CataBlog weiterzuentwickeln." + +#: ../templates/admin-contextual-help.php:34 +msgid "To create a new catalog entry first upload an image by selecting a file and then clicking the upload button. " +msgstr "Um einen neuen Eintrag zu erstellen, lade zunächst ein Bild hoch." + +#: ../templates/admin-contextual-help.php:35 +msgid "After the upload is successful a new catalog entry will be generated with the name of the file you uploaded. " +msgstr "Nachdem der Upload abgeschlossen ist, wird ein neuer Katalogeintrag mit dem Namen der Datei angelegt." + +#: ../templates/admin-contextual-help.php:44 +msgid "CataBlog offer many options that let you modify your catalog and its appearance." +msgstr "CataBlog bietet viele Einstellungen, mit denen du den Katalog und die Darstellung anpassen kannst." + +#: ../templates/admin-contextual-help.php:52 +msgid "Please make sure to support the plugin author by donating." +msgstr "Bitte unterstütze den Plugin-Autor mit einer Spende." + +#: ../templates/admin-contextual-help.php:60 +msgid "Your CataBlog originals upload folder is being scanned for any files that are not currently in the database." +msgstr "Dein CataBlog-Upload-Ordner wird nach Dateien durchsucht, die noch nicht in der Datenbank sind." + +#: ../templates/admin-contextual-help.php:68 +msgid "CataBlog is regenerating all the images in the CataBlog thumbnail and LightBox folders." +msgstr "CataBlog verarbeitet alle Bilder in den Vorschau- und LightBox-Ordnern." + +#: ../templates/admin-contextual-help.php:76 +msgid "CataBlog is being completely removed, afterwards you may go back to the library view to reinstall the default settings." +msgstr "CataBlog wird vollständig entfernt. Hiernach kannst du Standardeinstellungen neu laden." + +#: ../templates/admin-contextual-help.php:77 +msgid "If you wish to completely remove CataBlog, do not go to the library view, instead disable CataBlog after this is complete." +msgstr "Möchtest du CataBlog komplett löschen, deaktiviere das Plugin nachdem dies abgeschlossen ist." + +#: ../templates/admin-discfull.php:4 +msgid "Storage Space Full!" +msgstr "Speicherplatz erschöpft!" + +#: ../templates/admin-discfull.php:9 +msgid "CataBlog can't make a new entry because your site has run out of storage space." +msgstr "CataBlog kann keinen neuen Eintrag erstellen, da kein Speicherplatz mehr vorhanden ist." + +#: ../templates/admin-discfull.php:13 +#, php-format +msgid "You are currently using %sMB of %sMB of storage space." +msgstr "Du nutzt derzeit %sMB von %sMB Speicherplatz." + +#: ../templates/admin-discfull.php:16 +msgid "Please talk to your WordPress Administrator to have more space allocated to your site or delete some previous uploaded content." +msgstr "Bitte kontaktiere deinen WordPress-Administrator um mehr Speicherplatz zugewiesen zu bekommen oder lösche hochgeladenen Inhalt." + +#: ../templates/admin-discfull.php:21 +msgid "Media" +msgstr "Multimedia" + +#: ../templates/admin-edit.php:13 +msgid "Main" +msgstr "Haupteinstellungen" + +#: ../templates/admin-edit.php:17 +msgid "Images" +msgstr "Bilder" + +#: ../templates/admin-edit.php:26 +msgid "Replace Main Image" +msgstr "Hauptbild ersetzen" + +#: ../templates/admin-edit.php:28 +msgid "Add Sub Image" +msgstr "Zusatzbild hinzufügen" + +#: ../templates/admin-edit.php:32 +msgid "JavaScript is required to add images." +msgstr "JavaScript wird benötigt, um Bilder hinzuzufügen." + +#: ../templates/admin-edit.php:43 +msgid "Delete this sub image permanently." +msgstr "Dieses Zusatzbild löschen." + +#: ../templates/admin-edit.php:48 +msgid "No Sub Images" +msgstr "Keine Zusatzbilder" + +#: ../templates/admin-edit.php:57 +#: ../templates/admin-list.php:11 +#: ../templates/admin-list.php:48 +msgid "Title" +msgstr "Titel" + +#: ../templates/admin-edit.php:66 +#: ../templates/admin-list.php:17 +#: ../templates/admin-list.php:50 +msgid "Description" +msgstr "Beschreibung" + +#: ../templates/admin-edit.php:66 +msgid "accepts html formatting" +msgstr "HTML-Formatierung erlaubt" + +#: ../templates/admin-edit.php:79 +#, php-format +msgid "or %sback to list%s" +msgstr "oder %szurück zur Liste%s" + +#: ../templates/admin-edit.php:93 +msgid "Attributes" +msgstr "Attribute" + +#: ../templates/admin-edit.php:96 +#, php-format +msgid "Date: %s" +msgstr "Datum: %s" + +#: ../templates/admin-edit.php:97 +#: ../templates/admin-edit.php:108 +msgid "edit" +msgstr "bearbeiten" + +#: ../templates/admin-edit.php:102 +msgid "Format: YYYY-MM-DD HH:MM:SS" +msgstr "Format: YYYY-MM-DD HH:MM:SS" + +#: ../templates/admin-edit.php:107 +#, php-format +msgid "Order: %s" +msgstr "Reihenfolge: %s" + +#: ../templates/admin-edit.php:113 +msgid "Enter a integer value to be assigned as this catalog item's order. There is only one order value per catalog item." +msgstr "Gib einen ganzzahligen Wert ein, der mit diesem Eintrag verknüpft werden soll. Jedem Eintrag kann nur ein Wert zugewiesen werden." + +#: ../templates/admin-edit.php:120 +msgid "Fields" +msgstr "Felder" + +#: ../templates/admin-edit.php:123 +#: ../templates/admin-list.php:18 +#: ../templates/admin-list.php:51 +msgid "Link" +msgstr "Link" + +#: ../templates/admin-edit.php:124 +#: ../templates/admin-edit.php:133 +#: ../templates/admin-edit.php:143 +msgid "help" +msgstr "Hilfe" + +#: ../templates/admin-edit.php:128 +msgid "Enter a relative or absolute web address to make this item a hyperlink. External links should start with http://." +msgstr "Gib eine relative oder absolute Adresse ein, um einen Link zu erstellen. Externe Links sollten mit http:// beginnen." + +#: ../templates/admin-edit.php:132 +msgid "Item Price" +msgstr "Preis" + +#: ../templates/admin-edit.php:137 +msgid "If your catalog item has a price above zero, it will generate a buy now button you may display." +msgstr "Sofern ein Eintrag einen Preis größer 0 hat, wird ein Button generiert." + +#: ../templates/admin-edit.php:142 +#: ../templates/admin-list.php:20 +#: ../templates/admin-list.php:53 +msgid "Product Code" +msgstr "Artikelnummer" + +#: ../templates/admin-edit.php:147 +msgid "This field is intended for usage as a product code for the PayPal buy now buttons." +msgstr "Dieses Feld ist für die Artikelnummer für PayPal-Buy-Now-Buttons gedacht." + +#: ../templates/admin-edit.php:152 +#, php-format +msgid "If you want to make a shopping cart you should make sure you are using a %sStore Template%s that uses these values." +msgstr "Möchtest du einen Warenkorb erstellen, nutze bitte ein %sStore Template%s, das diese Werte nutzt." + +#: ../templates/admin-edit.php:158 +#: ../templates/admin-list.php:22 +#: ../templates/admin-list.php:55 +msgid "Categories" +msgstr "Kategorien" + +#: ../templates/admin-edit.php:166 +msgid "You currently have no categories." +msgstr "Derzeit sind keine Kategorien vorhanden." + +#: ../templates/admin-edit.php:176 +#: ../templates/admin-edit.php:410 +msgid "[DELETE]" +msgstr "[entfernen]" + +#: ../templates/admin-edit.php:188 +msgid "You must have a JavaScript enabled browser to create new categories." +msgstr "JavaScript wird benötigt, um Kategorien zu erstellen." + +#: ../templates/admin-edit.php:194 +msgid "New" +msgstr "Neu" + +#: ../templates/admin-edit.php:199 +msgid "Put your items into categories to easily display subsets of your catalog on different pages." +msgstr "Sortiere deine Einträge in Kategorien, um eine Auswahl auf verschiedene Seiten zu verteilen." + +#: ../templates/admin-edit.php:200 +msgid "ex:" +msgstr "Z. B.:" + +#: ../templates/admin-edit.php:218 +#: ../templates/admin-edit.php:242 +#: ../templates/admin-library.php:139 +msgid "[close]" +msgstr "[schließen]" + +#: ../templates/admin-edit.php:219 +msgid "Upload A New Sub Image" +msgstr "Neues Zusatzbild hochladen" + +#: ../templates/admin-edit.php:222 +#: ../templates/admin-edit.php:246 +msgid "Save Other Changes Before Uploading A New Image." +msgstr "Speichere Änderungen bevor du ein neues Bild hochlädst." + +#: ../templates/admin-edit.php:229 +#: ../templates/admin-edit.php:252 +#: ../templates/admin-new.php:21 +msgid "Upload" +msgstr "Upload" + +#: ../templates/admin-edit.php:231 +msgid "Select an image to add as a sub image, this upload will not replace this item's main image." +msgstr "Wähle ein Bild, das du als Zusatzbild hinzufügen möchtest. Das Hauptbild wird dabei nicht ersetzt." + +#: ../templates/admin-edit.php:232 +#: ../templates/admin-edit.php:255 +#: ../templates/admin-new.php:28 +msgid "You may upload JPEG, GIF and PNG graphic formats only." +msgstr "Du kannst nur Bilder als JPEG, GIF und PNG hochladen." + +#: ../templates/admin-edit.php:233 +#: ../templates/admin-edit.php:256 +#: ../templates/admin-new.php:29 +msgid "No animated GIFs please." +msgstr "Bitte keine animierten GIFs." + +#: ../templates/admin-edit.php:243 +msgid "Replace The Main Image" +msgstr "Hauptbild ersetzen" + +#: ../templates/admin-edit.php:254 +msgid "Select an image on your computer to upload and replace this item's main image with." +msgstr "Wähle ein Bild, das das Hauptbild ersetzen soll." + +#: ../templates/admin-edit.php:257 +msgid "This will replace the main image, forever deleting the current main image." +msgstr "Das Hauptbild wird gelöscht und ersetzt." + +#: ../templates/admin-edit.php:325 +msgid "Are you sure you want to delete this category? You can not undo this." +msgstr "Bist du dir sicher, dass du diese Kategorie löschen möchtest? Du kannst dies nicht rückgängig machen." + +#: ../templates/admin-edit.php:386 +msgid "Please make sure to enter a category name" +msgstr "Gib bitte eine Kategoriebezeichnung ein" + +#: ../templates/admin-edit.php:452 +msgid "Are you sure you want to permanently delete this image?" +msgstr "Bist du sicher, dass du dieses Bild löschen möchtest?" + +#: ../templates/admin-grid.php:5 +#: ../templates/admin-list.php:66 +msgid "No catalog items found" +msgstr "Keine Einträge gefunden" + +#: ../templates/admin-grid.php:8 +#: ../templates/admin-list.php:69 +msgid "Use the category drop down above to switch category views." +msgstr "Benutze das obige Drop-down-Menü um die Kategorie zu wechseln." + +#: ../templates/admin-import.php:4 +msgid "CataBlog Import Results" +msgstr "CataBlog-Importergebnisse" + +#: ../templates/admin-import.php:8 +msgid "Import Console" +msgstr "Importkonsole" + +#: ../templates/admin-import.php:12 +msgid "You must select a valid XML or CSV file to be used for import." +msgstr "Bitte wähle eine valide XML- oder CSV-Datei für den Import." + +#: ../templates/admin-import.php:15 +#, php-format +msgid "You may choose to read more about %simporting and exporting data from CataBlog%s." +msgstr "Erfahre mehr über %sImport und Export von CataBlog%s." + +#: ../templates/admin-import.php:17 +#, php-format +msgid "Once you have fixed your file and its format please %stry again%s." +msgstr "Sobald du Datei und -format repariert hast, %sversuche es erneut%s." + +#: ../templates/admin-import.php:23 +msgid "removing catalog items..." +msgstr "Entferne Einträge..." + +#: ../templates/admin-import.php:28 +msgid "Success: All catalog items removed successfully" +msgstr "Erfolg: Alle Einträge wurden erfolgreich entfernt" + +#: ../templates/admin-import.php:30 +msgid "removing catalog categories..." +msgstr "Entferne Kategorien..." + +#: ../templates/admin-import.php:32 +msgid "Success: All catalog categories removed successfully" +msgstr "Erfolg: Alle Kategorien wurden erfolgreich entfernt" + +#: ../templates/admin-import.php:34 +msgid "DataBase Cleared Successfully" +msgstr "Datenbankeinträge entfernt" + +#: ../templates/admin-library.php:19 +msgid "You must have a JavaScript enabled browser for bulk actions and to change the order of your items." +msgstr "JavaScript muss aktiviert sein, um Änderungen vorzunehmen." + +#: ../templates/admin-library.php:34 +msgid "Bulk Actions" +msgstr "Aktionen" + +#: ../templates/admin-library.php:35 +msgid "Edit Categories" +msgstr "Kategorien bearbeiten" + +#: ../templates/admin-library.php:36 +#: ../templates/admin-list.php:91 +msgid "Delete" +msgstr "Entfernen" + +#: ../templates/admin-library.php:39 +msgid "Apply" +msgstr "Anwenden" + +#: ../templates/admin-library.php:44 +msgid "View" +msgstr "Ansicht" + +#: ../templates/admin-library.php:47 +msgid "All Categories" +msgstr "Alle Kategorien" + +#: ../templates/admin-library.php:66 +#: ../templates/admin-library.php:115 +#, php-format +msgid "%s items" +msgstr "%s Einträge" + +#: ../templates/admin-library.php:70 +#: ../templates/admin-library.php:117 +msgid "Go to the first page" +msgstr "Zur ersten Seite" + +#: ../templates/admin-library.php:71 +#: ../templates/admin-library.php:118 +msgid "Go to the previous page" +msgstr "Zur vorigen Seite" + +#: ../templates/admin-library.php:75 +#: ../templates/admin-library.php:122 +msgid "Current page" +msgstr "Derzeitige Seite" + +#: ../templates/admin-library.php:76 +#: ../templates/admin-library.php:123 +msgid "of" +msgstr "von" + +#: ../templates/admin-library.php:80 +#: ../templates/admin-library.php:127 +msgid "Go to the next page" +msgstr "Zur nächsten Seite" + +#: ../templates/admin-library.php:81 +#: ../templates/admin-library.php:128 +msgid "Go to the last page" +msgstr "Zur letzten Seite" + +#: ../templates/admin-library.php:92 +msgid "List View" +msgstr "Listenansicht" + +#: ../templates/admin-library.php:95 +msgid "Grid View" +msgstr "Rasteransicht" + +#: ../templates/admin-library.php:140 +msgid "Edit Multiple Catalog Item's Categories" +msgstr "Mehrere Kategorien bearbeiten" + +#: ../templates/admin-library.php:145 +msgid "Add to categories" +msgstr "Zu Kategorien hinzufügen" + +#: ../templates/admin-library.php:150 +#: ../templates/admin-library.php:170 +msgid "You have no categories." +msgstr "Keine Kategorien vorhanden." + +#: ../templates/admin-library.php:165 +msgid "Remove from categories" +msgstr "Von Kategorien entfernen" + +#: ../templates/admin-library.php:190 +msgid "Change Multiple Categories" +msgstr "Mehrere Kategorien bearbeiten" + +#: ../templates/admin-library.php:192 +msgid "Select the categories you would like each selected item to be part of by checking their boxes." +msgstr "Wähle die Kategorien, zu denen du die gewählten Elemente hinzufügen möchtest." + +#: ../templates/admin-library.php:193 +msgid "After the bulk edit, the selected items will be in only the categories selected above." +msgstr "Nach der Bearbeitung werden die gewählten Einträge nur in den oben gewählten Kategorien sein." + +#: ../templates/admin-library.php:216 +msgid "Please select a bulk action to apply." +msgstr "Bitte wähle eine Aktion aus." + +#: ../templates/admin-library.php:223 +msgid "Please select at least one catalog item first." +msgstr "Bitte wähle zunächst mindestens einen Eintrag aus." + +#: ../templates/admin-library.php:242 +msgid "Are you sure you want to delete multiple items?" +msgstr "Bist du dir sicher, dass du mehrere Einträge löschen möchtest?" + +#: ../templates/admin-library.php:271 +msgid "Are you sure you want to permanently delete this catalog items?" +msgstr "Bist du sicher, dass du diese Einträge löschen möchtest?" + +#: ../templates/admin-list.php:5 +#: ../templates/admin-list.php:47 +msgid "Image" +msgstr "Bild" + +#: ../templates/admin-list.php:19 +#: ../templates/admin-list.php:52 +msgid "Price" +msgstr "Preis" + +#: ../templates/admin-list.php:28 +#: ../templates/admin-list.php:56 +msgid "Order" +msgstr "Reihenfolge" + +#: ../templates/admin-list.php:38 +#: ../templates/admin-list.php:57 +msgid "Date" +msgstr "Datum" + +#: ../templates/admin-list.php:89 +msgid "Edit" +msgstr "Bearbeiten" + +#: ../templates/admin-new.php:13 +msgid "Upload An Image To Create A New Catalog Item" +msgstr "Lade ein Bild hoch um einen neuen Eintrag zu erstellen" + +#: ../templates/admin-new.php:14 +#, fuzzy +msgid "Upload Multiple Images" +msgstr "Neues Zusatzbild hochladen" + +#: ../templates/admin-new.php:24 +#, php-format +msgid "Maximum upload file size: %sB" +msgstr "Max. Upload-Größe: %sB" + +#: ../templates/admin-new.php:27 +#, fuzzy +msgid "Select images on your computer to upload and make new catalog items with." +msgstr "Wähle ein Bild um einen neuen Katalogeintrag zu erstellen." + +#: ../templates/admin-new.php:65 +#, fuzzy, php-format +msgid "currently uploading %s of %s" +msgstr "Bildverarbeitung... %s von %s" + +#: ../templates/admin-new.php:95 +#, fuzzy +msgid "Select Images" +msgstr "Bilder neu verarbeiten" + +#: ../templates/admin-new.php:128 +#, fuzzy +msgid "Cancel Upload" +msgstr "Upload" + +#: ../templates/admin-options.php:8 +msgid "You must have a JavaScript enabled browser to change the CataBlog options." +msgstr "JavaScript muss aktiviert sein, um Änderungen in CataBlog vorzunehmen." + +#: ../templates/admin-options.php:17 +#: ../templates/admin-regenerate.php:22 +#: ../templates/admin-rescan.php:24 +msgid "Processing Thumbnail Images..." +msgstr "Verarbeite Vorschaubilder..." + +#: ../templates/admin-options.php:24 +msgid "Waiting For LightBox Rendering To Finish..." +msgstr "Warte bis Verarbeitung für LightBox abgeschlossen ist..." + +#: ../templates/admin-options.php:31 +msgid "Thumbnails" +msgstr "Vorschaubilder" + +#: ../templates/admin-options.php:32 +msgid "LightBox" +msgstr "LightBox" + +#: ../templates/admin-options.php:33 +msgid "Public" +msgstr "Veröffentlichung" + +#: ../templates/admin-options.php:36 +msgid "Template" +msgstr "Vorlage" + +#: ../templates/admin-options.php:37 +msgid "Store" +msgstr "Shop" + +#: ../templates/admin-options.php:38 +msgid "Export" +msgstr "Export" + +#: ../templates/admin-options.php:39 +msgid "Import" +msgstr "Import" + +#: ../templates/admin-options.php:40 +msgid "Systems" +msgstr "System" + +#: ../templates/admin-options.php:47 +msgid "Thumbnail Size:" +msgstr "Vorschaugröße:" + +#: ../templates/admin-options.php:49 +#: ../templates/admin-options.php:98 +msgid "pixels" +msgstr "Pixel" + +#: ../templates/admin-options.php:51 +msgid "Your thumbnail size must be a positive integer." +msgstr "Die Vorschaubildgröße muss ganzzahlig und positiv sein." + +#: ../templates/admin-options.php:52 +msgid "this will change the thumbnail size of all your catalog items." +msgstr "Dies wird die Größe aller Vorschaubilder ändern." + +#: ../templates/admin-options.php:56 +msgid "Keep Aspect Ratio:" +msgstr "Seitenverhältnis beibehalten:" + +#: ../templates/admin-options.php:59 +msgid "this will keep the aspect ratio of the original image in your thumbnails, using the background color to fill in the empty space." +msgstr "Dies wird das Seitenverhältnis des Originalbildes beibehalten und den Vorschaubildern einen farbigen Hintergrund geben." + +#: ../templates/admin-options.php:62 +msgid "Thumbnail Background Color:" +msgstr "Hindergrundfarbe der Vorschaubilder:" + +#: ../templates/admin-options.php:65 +msgid "Select a Color" +msgstr "Wähle eine Farbe" + +#: ../templates/admin-options.php:70 +msgid "Thumbnail Preview" +msgstr "Vorschaubildvorschau" + +#: ../templates/admin-options.php:83 +msgid "Enable LightBox:" +msgstr "LightBox aktivieren:" + +#: ../templates/admin-options.php:85 +msgid "Load the necessary javascript libraries to enlarge an image thumbnail with the LightBox effect." +msgstr "Lade die nötigen JavaScript-Bibliotheken um Vorschaubilder mit dem LightBox-Effekt zu vergrößern." + +#: ../templates/admin-options.php:90 +msgid "Render a new image to be used for the lightbox:" +msgstr "Verarbeite ein neues Bild um es für LightBox zu nutzen:" + +#: ../templates/admin-options.php:92 +msgid "check this box to render a similarly sized image for each catalog item to be used with the LightBox." +msgstr "Wähle dies um ein ähnlich großes Bild für jeden Eintrag mit der LightBox zu nutzen." + +#: ../templates/admin-options.php:96 +msgid "LightBox Size:" +msgstr "LightBox-Größe:" + +#: ../templates/admin-options.php:99 +msgid "Your lightbox size must be a positive integer." +msgstr "Die LightBox-Größe muss ganzzahlig und positiv sein." + +#: ../templates/admin-options.php:100 +msgid "This is the maximum length of either the height or width, depending on whichever is longer in the original uploaded image." +msgstr "Dies ist die maximale Seitenlänge." + +#: ../templates/admin-options.php:104 +msgid "LightBox jQuery Selector:" +msgstr "LightBox-jQuery-Selector:" + +#: ../templates/admin-options.php:107 +msgid "This lets you modify the selector used by jQuery to attach the LightBox to image thumbnails. The default value is: .catablog-image" +msgstr "Hiermit kannst du den jQuery-Selector verändern, der LightBox an Vorschaubilder bindet. Der Standardwert lautet: .catablog-image" + +#: ../templates/admin-options.php:121 +msgid "Enable Individual Pages and Category Archives:" +msgstr "Aktiviere individuelle Seiten und Kategoriearchive:" + +#: ../templates/admin-options.php:123 +msgid "If this is checked, each and every catalog item will get its very own page, complete with permalink." +msgstr "Setzt du ein Häkchen, wird jedem Katalogeintrag seine eigene Seite zugewiesen (mit Permalink)." + +#: ../templates/admin-options.php:124 +msgid "Also, each CataBlog Category will have their own archive page automatically generated." +msgstr "Auch wird automatisch für jede Kategorie eine Archivseite generiert." + +#: ../templates/admin-options.php:125 +#, php-format +msgid "These CataBlog Category pages can easily be added to your %sMenus%s with the Screen Options panel." +msgstr "Diese Kategorieseiten können einem %sMenü%s hinzugefügt werden." + +#: ../templates/admin-options.php:129 +msgid "Individual Pages Slug:" +msgstr "Einzelseitenbasis:" + +#: ../templates/admin-options.php:131 +msgid "This is the identifying slug your blog will use to create your individual catalog item pages." +msgstr "Dies ist die Basis, die dein Blog für Seiten mit einem Eintrag nutzt." + +#: ../templates/admin-options.php:135 +msgid "Category Pages Slug:" +msgstr "Kategorieseitenbasis:" + +#: ../templates/admin-options.php:137 +msgid "This is the identifying slug your blog will use to create your catalog archive pages." +msgstr "Dies ist die Basis, die dein Blog für Katalogarchivseiten nutzt." + +#: ../templates/admin-options.php:143 +msgid "Catalog Slugs Warning" +msgstr "Hinweis zu Katalogbasen" + +#: ../templates/admin-options.php:144 +#, php-format +msgid "Please make sure you do not set either of your catalog slugs to a %sWordPress Reserved Term%s." +msgstr "Bitte achte darauf, dass du keine %svon WordPress genutzten Begriffe%s verwendest." + +#: ../templates/admin-options.php:145 +msgid "These labels must also be URL friendly, so they may be transformed from your original input." +msgstr "Diese Begriffe sollten für URLs geeignet sein, um Verarbeitungsfehler zu vermeiden." + +#: ../templates/admin-options.php:149 +msgid "Changing Catalog Slugs" +msgstr "Änderung von Katalogbasen" + +#: ../templates/admin-options.php:150 +#, php-format +msgid "If you change these values, please immediately visit the %sPermalinks%s panel to update your rewrite rules." +msgstr "Wenn du diese Werte änderst, aktualisiere die mod_rewrite-Regeln unter %sPermalinks%s." + +#: ../templates/admin-options.php:151 +msgid "Your individual catalog item pages and archives will not work until you have updated your rewrite rules." +msgstr "Die Katalogseiten werden nicht funktionieren, bis du die Regeln aktualisiert hast." + +#: ../templates/admin-options.php:161 +msgid "Link Target:" +msgstr "Linkziel:" + +#: ../templates/admin-options.php:164 +msgid "The link target setting will set the target attribute of all the catalog title links." +msgstr "Die Einstellung zum Linkziel setzt das target-Attribut bei allen Katalogtitellinks." + +#: ../templates/admin-options.php:165 +#: ../templates/admin-options.php:173 +msgid "examples:" +msgstr "Beispiele:" + +#: ../templates/admin-options.php:169 +msgid "Link Relationship:" +msgstr "Linkbeziehung:" + +#: ../templates/admin-options.php:172 +msgid "The link relationship will set the rel attribute of all the catalog title links." +msgstr "Die Linkbeziehung setzt das rel-Attribut bei allen Katalogtitellinks." + +#: ../templates/admin-options.php:183 +msgid "Enable WordPress Filters:" +msgstr "WordPress-Filter aktivieren:" + +#: ../templates/admin-options.php:186 +msgid "Enable the standard WordPress filters for your catalog item's description." +msgstr "Aktiviere die WordPress-Filter für die Beschreibung eines Eintrags." + +#: ../templates/admin-options.php:187 +msgid "This allows you to use ShortCodes and media embeds inside your catalog item descriptions." +msgstr "Dies erlaubt dir ShortCodes und eingebettete Mediendaten in den Beschreibungen eines Eintrags." + +#: ../templates/admin-options.php:188 +msgid "Please do not use the CataBlog ShortCode inside a catalog item's description." +msgstr "Bitte keinen CataBlog ShortCode innerhalb der Beschreibung eines Eintrags nutzen." + +#: ../templates/admin-options.php:194 +msgid "Render Line Breaks:" +msgstr "Darstellung der Zeilenumbrüche:" + +#: ../templates/admin-options.php:197 +#, php-format +msgid "Filter your catalog item's description through the standard PHP function %s." +msgstr "Filtere die Einträge durch die PHP-Funktion %s." + +#: ../templates/admin-options.php:198 +msgid "This will insert HTML line breaks before all new lines in your catalog descriptions." +msgstr "Dies fügt HTML-Zeilenumbrüche vor allen neuen Zeilen der Beschreibungen ein." + +#: ../templates/admin-options.php:199 +msgid "Turn this off if unwanted line breaks are being rendered on your page." +msgstr "Deaktiviere dies, wenn ungewünschte Zeilenumbrüche erscheinen." + +#: ../templates/admin-options.php:214 +#: ../templates/admin-options.php:257 +msgid "Load Template" +msgstr "Vorlage laden" + +#: ../templates/admin-options.php:216 +#: ../templates/admin-options.php:259 +msgid "Could not locate the views directory. Please reinstall CataBlog." +msgstr "Das Ansichten-Verzeichnis konnte nicht lokalisiert werden. Bitte installiere CataBlog neu." + +#: ../templates/admin-options.php:225 +msgid "You may change the html code rendered by CataBlog here, this allows you to make fundamental changes to how catalogs will appear in your posts. You may choose a template from the drop down menu at top and then click Load Template to load it into the template code. If you want to setup a photo gallery I would recommend that you load the Gallery template and then click save below. To setup a shopping cart you should load the Default Template code and then load a Store Template." +msgstr "Hier kannst du den HTML-Code, der von CataBlog genutzt wird, verändern. Du hast die Möglichkeit grundlegende Änderung im Erscheinungsbild der Kataloge vorzunehmen. Vorlagen kannst du aus dem obigen Drop-down-Menü auswählen und mit Vorlage laden laden. Möchtest du eine Fotogallerie einrichten, steht dir das Gallery template zur Verfügung. Um einen Warenkorb einzurichten, lade das Default Template und eine Shop-Vorlage." + +#: ../templates/admin-options.php:230 +msgid "Don't forget to click Save Changes at the bottom of the page to finalize your changes and use the new code for your blog." +msgstr "Vergiss nicht Änderungen übernehmen zu klicken um den neuen Code zu übernehmen." + +#: ../templates/admin-options.php:239 +msgid "PayPal Account Email Address:" +msgstr "E-Mail-Adresse des PayPal-Accounts:" + +#: ../templates/admin-options.php:244 +#, php-format +msgid "Enter in an email address here that has been registered with %sPayPal%s and choose a Buy Now Template below to setup a store. You may then give items a price and product code. When an item has a price above zero a 'Buy Now' button will appear under the description of that CataBlog item." +msgstr "Gib hier eine E-Mail-Adresse ein, die bei %sPayPal%s registriert ist und wähle ein Buy Now Template. Danach kannst du Einträgen einen Preis und eine Artikelnummer zuweisen. Sobald ein Eintrag einen Preis von mehr als 0 hat, erscheint unter der Beschreibung ein \"Buy Now\"-Button." + +#: ../templates/admin-options.php:265 +msgid "You may change the html code rendered for the Buy Now button here. All value tokens are available here too, so place the title, description or any other values you may want to use from the current catalog item in this code as well." +msgstr "Den HTML-Code für den \"Buy Now\"-Button kannst du hier ändern. Alle Attribute sind verfügbar: Du kannst Titel, Beschreibung oder andere Werte der Einträge im Code verwenden." + +#: ../templates/admin-options.php:284 +msgid "You may export your CataBlog data to a XML or CSV file which may be used to backup and protect your work. The XML or CSV file is a simple transfer of the database information itself and the images are not included in this backup. To backup your images follow the directions at the bottom of the page." +msgstr "Die CataBlog-Daten lassen sich als XML- oder CSV-Datei exportieren. Diese Dateien können als Backup dienen. XML- und CSV-Dateien beinhalten nur die Informationen aus der Datenbank. Bilder sind in diesem Backup nicht eingeschlossen. Um Bilder zu sichern, folge den Anweisungen am Ende der Seite." + +#: ../templates/admin-options.php:290 +msgid "Save XML BackUp File" +msgstr "XML-Datei speichern" + +#: ../templates/admin-options.php:294 +msgid "Save CSV BackUp File" +msgstr "CSV-Datei speichern" + +#: ../templates/admin-options.php:301 +#, php-format +msgid "You must have the function %sfputcsv()%s available on your web server's version of PHP for CSV export to work." +msgstr "Die PHP-Funktion %sfputcsv()%s muss verfügbar sein um CSV-Dateien zu exportieren." + +#: ../templates/admin-options.php:303 +msgid "Please contact your server administrator for more information regarding this error." +msgstr "Bitte kontaktiere deinen Server-Administrator für weitere Informationen zu diesem Fehler." + +#: ../templates/admin-options.php:310 +msgid "Backing Up Images:" +msgstr "Bilder sichern:" + +#: ../templates/admin-options.php:311 +msgid "Please copy the catablog directory to a secure location." +msgstr "Bitte kopiere das CataBlog-Verzeichnis an einen sicheren Ort." + +#: ../templates/admin-options.php:312 +msgid "The directory for this WordPress blog can be located on your web server at:" +msgstr "Das WordPress-Verzeichnis befindet sich hier auf dem Server:" + +#: ../templates/admin-options.php:323 +msgid "Import XML/CSV Data" +msgstr "XML-/CSV-Daten importieren" + +#: ../templates/admin-options.php:331 +msgid "Replace All Data:" +msgstr "Alle Daten ersetzen:" + +#: ../templates/admin-options.php:334 +msgid "Import CataBlog Data" +msgstr "CataBlog-Daten importieren" + +#: ../templates/admin-options.php:338 +msgid "You must have the Simple XML Library installed on your web server's version of PHP for XML imports to work. Please contact your server administrator for more information regarding this error." +msgstr "Eine Simple-XML-Bibliothek muss für den XML-Export verfügbar sein. Bitte kontaktiere deinen Server-Administrator für weitere Informationen zu diesem Fehler." + +#: ../templates/admin-options.php:343 +msgid "To import data into your catalog you simply select a XML or CVS file on your hard drive and click the Import CataBlog Data button. You may choose to completely erase all your data before importing by checking the Replace All Data checkbox.
    Keep in mind, this does not import or delete images." +msgstr "Um Daten zu importieren wähle einfach eine XML- oder CSV-Datei von deinem Rechner aus und klicke CataBlog-Daten importieren. Du kannst alle bestehenden Daten entfernen, wenn du bei Alle Daten ersetzen ein Häkchen machst.
    Bitte behalte im Hinterkopf, dass dies keine Bilder entfernt oder importiert." + +#: ../templates/admin-options.php:346 +#, php-format +msgid "To import images you should upload them to the originals directory, located at: %s. Once you load the XML or CVS file and the images into the originals directory everything should be set after you %sRegenerate All Images%s in the systems tab." +msgstr "Um Bilder zu importieren, lade sie in das Verzeichnis originals hoch. Dies befindet sich hier: %s. Sobald du die XML- oder CVS-Datei hoch und die Bilder ins originals-Verzeichnis geladen hast, sollte nach einem Klick auf %sAlle Bilder neu verarbeiten%s im System-Tab alles funktionieren." + +#: ../templates/admin-options.php:350 +#, php-format +msgid "You may view XML and CSV examples in the %simport/export documentation%s." +msgstr "Schau dir XML- und CSV-Beispiele in der %sImport/Export-Documentation%s an." + +#: ../templates/admin-options.php:364 +msgid "CataBlog Upload Folders are Unlocked" +msgstr "CataBlog-Upload-Verzeichnisse sind beschreibbar" + +#: ../templates/admin-options.php:366 +msgid "CataBlog Upload Folders are Locked" +msgstr "CataBlog-Upload-Verzeichnisse sind geschützt" + +#: ../templates/admin-options.php:374 +msgid "Lock Folders" +msgstr "Verzeichniss schützen" + +#: ../templates/admin-options.php:376 +msgid "Unlock Folders" +msgstr "Verzeichnisse freigeben" + +#: ../templates/admin-options.php:380 +#, php-format +msgid "You may lock and unlock your catablog folders with these controls. The idea is to unlock the folders, use your FTP client to upload your original files and then lock the folders to protect them from hackers. After unlocking your directories please upload the original files directly into the %s folder without replacing it. Do not replace any of the CataBlog created folders. You should then regenerate all your thumbnail and lightbox pictures below. These controls may not work on a Windows server, it depends on your servers PHP settings and if the chmod command is supported." +msgstr "Mit diesen Einstellungen kannst du CataBlog-Verzeichnisse schützen und freigeben. Die Idee dahinter ist, dass du ein FTP-Programm zum hochladen nutzen kannst und danach einen Schreibschutz einrichten kannst, um ungewollter Veränderung vorzubeugen. Nach der Freigabe lade die Dateien bitte direkt in den Ordner %s ohne ihn zu ersetzen. Ersetze keine Verzeichnisse, die von CataBlog erstellt wurden. Führe nach dem Upload eine neue Verarbeitung der Vorschau- und LightBox-Bilder durch." + +#: ../templates/admin-options.php:385 +msgid "Rescan Original Image Folder" +msgstr "Originalbilder-Verzeichnis neu laden" + +#: ../templates/admin-options.php:387 +msgid "Rescan Original Images Folder Now" +msgstr "Originalbilder-Verzeichnis jetzt neu laden" + +#: ../templates/admin-options.php:389 +msgid "Click the Rescan Now button to rescan the original catablog images folder and automatically import any new jpeg, gif or png images. It works simply by making a list of all the image names in the database and then compares each file's name in the originals folder against the list of image names in the database. Any newly discovered images will automatically be made into a new catalog item. You should Regenerate Images after running this command." +msgstr "Klick den Originalbilder-Verzeichnis neu laden-Button um automatisch neue JPEG-, GIF- oder PNG-Bilder zu importieren. In diesem Vorgang wird eine Liste der Dateinamen, die sich in der Datenbank befinden, angelegt und mit den Dateien im Verzeichnis verglichen. Zu allen neuen Bildern wird automatisch ein Eintrag erstellt. Nach dem Laden empfiehlt sich eine neue Verarbeitung aller Bilder." + +#: ../templates/admin-options.php:394 +msgid "Regenerate Images" +msgstr "Bilder neu verarbeiten" + +#: ../templates/admin-options.php:396 +msgid "Regenerate All Images Now" +msgstr "Alle Bilder neu verarbeiten" + +#: ../templates/admin-options.php:398 +msgid "Click the Regenerate Now button to recreate all the thumbnail and lightbox images that CataBlog has generated over the time you have used it. This is also useful when restoring exported data from another version of CataBlog. after you have uploaded your original images you must regenerate your images so they display properly." +msgstr "Mit dem Alle Bilder neu verarbeiten-Button werden alle Vorschau- und LightBox-Bilder, die sich über die Zeit angesammelt haben, neu berechnet. Dies ist sinnvoll, wenn Daten aus einer anderen CataBlog-Version importiert werden. Nachdem die Originalbilder hochgeladen sind, solltest du sie neu berechnen lassen damit sie korrekt angezeigt werden." + +#: ../templates/admin-options.php:403 +msgid "Remove CataBlog" +msgstr "CataBlog entfernen" + +#: ../templates/admin-options.php:405 +msgid "Remove All CataBlog Data" +msgstr "Alle CataBlog-Daten entfernen" + +#: ../templates/admin-options.php:407 +msgid "Delete your entire catalog, deleting all photos and custom data permanently. Sometimes you can use this to fix an improper installation." +msgstr "Dies entfernt deinen gesamten Katalog mit allen Fotos und Daten. Eventuell kann dies sinnvoll sein, um eine fehlerhafte Installation zu reparieren." + +#: ../templates/admin-options.php:416 +#, php-format +msgid "or %sundo current changes%s" +msgstr "oder %saktuelle Änderungen rückgängig machen%s" + +#: ../templates/admin-options.php:682 +#: ../templates/admin-regenerate.php:43 +#: ../templates/admin-rescan.php:49 +msgid "Please allow the rendering to complete before leaving this page. Click cancel to go back and let the rendering complete." +msgstr "Bitte warte bis die Bildverarbeitung abgeschlossen ist, bevor du diese Seite verlässt. Klick Abbrechen um zurückzukehren und den Vorgang abschließen zu lassen." + +#: ../templates/admin-options.php:687 +msgid "Image rendering is not complete, you should let image rendering complete before leaving this page." +msgstr "Die Bildverarbeitung ist noch nicht abgeschlossen. Bitte warte, bevor du diese Seite verlässt." + +#: ../templates/admin-regenerate.php:4 +msgid "CataBlog Images Rendering" +msgstr "CataBlog-Bildverarbeitung" + +#: ../templates/admin-regenerate.php:8 +#: ../templates/admin-rescan.php:18 +msgid "You must have a JavaScript enabled browser to regenerate your images." +msgstr "JavaScript wird benötigt, um Bilder neu zu verarbeiten." + +#: ../templates/admin-regenerate.php:15 +msgid "Your CataBlog library is empty, there are no images to render." +msgstr "Deine CataBlog-Bibliothek ist leer. Es sind keine Bilder zu verarbeiten." + +#: ../templates/admin-regenerate.php:28 +#: ../templates/admin-rescan.php:30 +msgid "Waiting For Thumbnail Rendering To Finish..." +msgstr "Warte bis Verarbeitung der Vorschaubilder abgeschlossen ist..." + +#: ../templates/admin-regenerate.php:33 +msgid "Rendering all images from their original files, this may take awhile so please be patient." +msgstr "Verarbeite alle Bilder ausgehend von den Ursprungsdateien. Bitte gedulde dich, dies kann eine Weile dauern." + +#: ../templates/admin-regenerate.php:41 +msgid "Image rendering is now complete, you may now go to any other admin panel you may want." +msgstr "Bildverarbeitung ist nun abgeschlossen. Du kannst nun auf eine andere Seite wechseln." + +#: ../templates/admin-remove.php:4 +msgid "CataBlog Remove" +msgstr "CataBlog entfernen" + +#: ../templates/admin-remove.php:8 +msgid "You must have a JavaScript enabled browser to remove your catalog installation, sorry..." +msgstr "JavaScript wird benötigt, um die CataBlog-Installation zu entfernen." + +#: ../templates/admin-remove.php:16 +msgid "Removing CataBlog..." +msgstr "Entferne CataBlog..." + +#: ../templates/admin-rescan.php:4 +msgid "CataBlog Rescan Original Images Results" +msgstr "Ergebniss des neuen Ladens der Originalbilder" + +#: ../templates/admin-rescan.php:10 +msgid "No new images where found in your originals folders." +msgstr "Keine neuen Bilder im Originalbilder-Verzeichnis gefunden." + +#: ../templates/admin-rescan.php:11 +msgid "Please make sure that you have successfully uploaded new images via FTP before running this command." +msgstr "Bitte stelle sicher, dass alle neuen Bilder erfolgreich per FTP hochgeladen wurden, bevor du diesen Vorgang ausführst." + +#: ../templates/admin-rescan.php:12 +msgid "New images should be uploaded into the following folder:" +msgstr "Neue Bilder sollten im folgenden Ordner landen:" + +#: ../templates/admin-rescan.php:36 +#, php-format +msgid "New Image Found, creating catalog item %s" +msgstr "Neues Bild gefunden. Erstelle Eintrag %s" + +#: ../templates/admin-screen-options-library.php:37 +#: ../templates/admin-screen-options-library.php:46 +msgid "Show on screen" +msgstr "Anzeigen" + +#: ../templates/admin-screen-options-library.php:49 +msgid "Catalog items" +msgstr "Katalogeinträge" + +#~ msgid "Trash" +#~ msgstr "Papierkorb" + +#~ msgid "Could not move the uploaded file on your server" +#~ msgstr "Die hochgeladene Datei konnte nicht verschoben werden" + +#~ msgid "This feature only works when viewing a single category." +#~ msgstr "Diese Funktion funktioniert nur bei einer einzelnen Kategorie." + +#~ msgid "" +#~ "You have not saved your order. If you leave now you will loose your " +#~ "changes. Are you sure you want to continue leaving this page?" +#~ msgstr "" +#~ "Deine Bestellung wurde nicht gespeichert. Verlässt du diese Seite gehen " +#~ "alle Änderungen verloren. Bist du sicher, dass du diese Seite verlassen " +#~ "möchtest?" + +#~ msgid "Drag the items below to rearrange their order." +#~ msgstr "Verschiebe die Einträge um deren Reihenfolge zu ändern." + +#~ msgid "Saving new catalog order..." +#~ msgstr "Neue Bestellung speichern..." + +#~ msgid "Your catalog items have been rearranged successfully." +#~ msgstr "Die Reihenfolge der Einträge wurde erfolgreich geändert." diff --git a/src/wp-content/plugins/catablog/localization/catablog-es_ES.mo b/src/wp-content/plugins/catablog/localization/catablog-es_ES.mo new file mode 100644 index 0000000..6bda725 Binary files /dev/null and b/src/wp-content/plugins/catablog/localization/catablog-es_ES.mo differ diff --git a/src/wp-content/plugins/catablog/localization/catablog-es_ES.po b/src/wp-content/plugins/catablog/localization/catablog-es_ES.po new file mode 100644 index 0000000..cac422b --- /dev/null +++ b/src/wp-content/plugins/catablog/localization/catablog-es_ES.po @@ -0,0 +1,1703 @@ +# Copyright (C) 2010 CataBlog +# This file is distributed under the same license as the CataBlog package. +msgid "" +msgstr "" +"Project-Id-Version: CataBlog 1.2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-06-03 15:20-0800\n" +"PO-Revision-Date: 2011-06-03 16:27-0800\n" +"Last-Translator: Zachary Segal \n" +"Language-Team: illProductions \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Spanish\n" +"X-Poedit-Country: SPAIN\n" +"X-Poedit-KeywordsList: __;_e\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: ./..\n" + +#: ../catablog.php:94 +msgid "CataBlog requires PHP 5 or better running on your web server. You're version of PHP is to old, please contact your hosting company or IT department for an upgrade. Thanks." +msgstr "CataBlog requiere PHP 5 o mejor ejecución en el servidor web. Usted es la versión de PHP es viejo, por favor comuníquese con su compañía de alojamiento o departamento de TI para una actualización. Gracias." + +#: ../catablog.php:99 +msgid "CataBlog requires that the GD Library be installed on your web server's version of PHP. Please contact your hosting company or IT department for more information. Thanks." +msgstr "CataBlog requiere que el GD Library puede instalar en la versión de su servidor web de PHP. Póngase en contacto con su empresa de alojamiento o departamento de TI para obtener más información. Gracias." + +#: ../catablog.php:104 +msgid "CataBlog requires WordPress 3.1 or above. Please upgrade WordPress or contact your system administrator about upgrading." +msgstr "CataBlog requiere WordPress 3.1 o superior. Por favor, actualice WordPress o ponerte en contacto con el administrador del sistema acerca de la actualización." + +#: ../catablog.php:110 +msgid "CataBlog could not detect your upload directory or it is not writable by PHP. Please make sure Apache and PHP have write permission for the configured uploads folder. Contact your hosting company or IT department for more information. Thanks." +msgstr " CataBlog no pudo detectar el directorio de carga o no se puede escribir en PHP. Por favor, asegúrese de que Apache y PHP tiene permisos de escritura para la carpeta configurada carga. Póngase en contacto con su empresa de alojamiento o departamento de IT para obtener más información. Gracias." + +#: ../lib/CataBlog.class.php:189 +msgid "Uncategorized" +msgstr "sin categoría" + +#: ../lib/CataBlog.class.php:199 +msgid "CataBlog Item" +msgstr "CataBlog Artículo" + +#: ../lib/CataBlog.class.php:204 +msgid "A Catalog Item, generated by CataBlog." +msgstr "Un artículo de catálogo, generado por CataBlog." + +#: ../lib/CataBlog.class.php:215 +msgid "CataBlog Category" +msgstr "CataBlog Categoría" + +#: ../lib/CataBlog.class.php:298 +#: ../templates/admin-404.php:11 +#: ../templates/admin-library.php:9 +msgid "CataBlog Library" +msgstr "CataBlog Colección" + +#: ../lib/CataBlog.class.php:298 +#: ../lib/CataBlog.class.php:362 +msgid "Library" +msgstr "Colección" + +#: ../lib/CataBlog.class.php:299 +#: ../templates/admin-new.php:4 +msgid "Add New CataBlog Entry" +msgstr "Añadir entrada CataBlog Nueva" + +#: ../lib/CataBlog.class.php:299 +#: ../lib/CataBlog.class.php:363 +#: ../templates/admin-library.php:10 +msgid "Add New" +msgstr "Añadir nuevo" + +#: ../lib/CataBlog.class.php:300 +msgid "CataBlog Options" +msgstr "CataBlog Opciones" + +#: ../lib/CataBlog.class.php:300 +#: ../lib/CataBlog.class.php:364 +msgid "Options" +msgstr "Opciones" + +#: ../lib/CataBlog.class.php:301 +#: ../templates/admin-about.php:4 +msgid "About CataBlog" +msgstr "Acerca de CataBlog" + +#: ../lib/CataBlog.class.php:301 +#: ../lib/CataBlog.class.php:365 +msgid "About" +msgstr "Acerca" + +#: ../lib/CataBlog.class.php:353 +#: ../templates/admin-edit.php:4 +msgid "Edit CataBlog Entry" +msgstr "Editar entrada CataBlog" + +#: ../lib/CataBlog.class.php:361 +#: ../templates/admin-discfull.php:22 +msgid "CataBlog" +msgstr "CataBlog" + +#: ../lib/CataBlog.class.php:368 +msgid "CataBlog Entry" +msgstr "CataBlog Entrada" + +#: ../lib/CataBlog.class.php:534 +#: ../lib/CataBlog.class.php:567 +msgid "Changes Saved Successfully." +msgstr "Cambios guardados con éxito." + +#: ../lib/CataBlog.class.php:537 +msgid "Catalog Item Deleted Successfully." +msgstr "Catálogo del artículo suprimido con éxito." + +#: ../lib/CataBlog.class.php:540 +msgid "Could Not Delete Item Because ID was non existent." +msgstr "No se pudo artículo Eliminar Porque ID fue inexistente." + +#: ../lib/CataBlog.class.php:543 +msgid "Could not verify bulk edit action nonce, please refresh page and try again." +msgstr "No se pudo verificar edición masiva nonce acción, puede volver a cargar la página e inténtalo de nuevo." + +#: ../lib/CataBlog.class.php:546 +msgid "Bulk categories edit performed successfully." +msgstr "Categorías de Edición masiva a cabo con éxito." + +#: ../lib/CataBlog.class.php:549 +msgid "Bulk delete performed successfully." +msgstr "A granel eliminar a cabo con éxito." + +#: ../lib/CataBlog.class.php:552 +msgid "Reset all data successfully." +msgstr "Restablecer todos los datos correctamente." + +#: ../lib/CataBlog.class.php:571 +msgid "View Now" +msgstr "Ver ahora" + +#: ../lib/CataBlog.class.php:632 +msgid "CataBlog Options Saved" +msgstr "Opciones CataBlog guardados" + +#: ../lib/CataBlog.class.php:677 +msgid "Please Let The Rendering Below Complete Before Navigating Away From This Page" +msgstr "Por favor, Deja que la Prestación continuación completa antes de salir de esta página" + +#: ../lib/CataBlog.class.php:699 +msgid "Form Validation Error. Please reload the page and try again." +msgstr "Formulario de error de validación. Por favor, vuelva a cargar la página e inténtalo de nuevo." + +#: ../lib/CataBlog.class.php:725 +#: ../lib/CataBlog.class.php:726 +#: ../lib/CataBlog.class.php:727 +msgid "not present" +msgstr "no está presente" + +#: ../lib/CataBlog.class.php:815 +msgid "The file you selected was to large or you didn't select anything at all, please try again." +msgstr "El archivo que se seleccionó a los grandes o si no ha seleccionado nada en absoluto, por favor, inténtelo de nuevo." + +#: ../lib/CataBlog.class.php:819 +#: ../lib/CataBlog.class.php:871 +#: ../lib/CataBlog.class.php:923 +#: ../lib/CataBlog.class.php:961 +#: ../lib/CataBlog.class.php:1094 +msgid "WordPress Nonce Error, please reload the form and try again." +msgstr "WordPress Nonce Error: por favor, vuelva a cargar el formulario y vuelva a intentarlo." + +#: ../lib/CataBlog.class.php:875 +msgid "full form was not submitted, please try again." +msgstr "forma completa, no se presentó, por favor, inténtelo de nuevo." + +#: ../lib/CataBlog.class.php:919 +#: ../lib/CataBlog.class.php:957 +msgid "You didn't select anything to upload, please try again." +msgstr "Usted no ha seleccionado nada para subir, por favor, inténtelo de nuevo." + +#: ../lib/CataBlog.class.php:927 +#: ../lib/CataBlog.class.php:965 +msgid "No item ID posted, press back arrow and try again." +msgstr "Sin ID elemento publicado, pulse la flecha de nuevo y vuelve a intentarlo." + +#: ../lib/CataBlog.class.php:1008 +msgid "Please make your selection by checking the boxes in the list below." +msgstr "Por favor haga su selección marcando las casillas de la lista a continuación." + +#: ../lib/CataBlog.class.php:1054 +#, php-format +msgid "Error during set category, could not load item with id %s." +msgstr "Error durante la categoría de conjunto, no se puede cargar el elemento con id %s." + +#: ../lib/CataBlog.class.php:1072 +#, php-format +msgid "Error during bulk delete, could not load item with id %s." +msgstr "Error durante la eliminación masiva, no se puede cargar el elemento con id %s." + +#: ../lib/CataBlog.class.php:1103 +msgid "No file was selected for upload, please try again." +msgstr "No existe el fichero ha sido seleccionada para la subida, por favor, inténtelo de nuevo." + +#: ../lib/CataBlog.class.php:1112 +msgid "Uploaded XML File Could Not Be Parsed, Check That The File's Content Is Valid XML." +msgstr "Archivo Subido XML No se pudieron analizar, Compruebe que el contenido del archivo XML es válido." + +#: ../lib/CataBlog.class.php:1118 +msgid "Uploaded CSV File Could Not Be Parsed, Check That The File's Format Is Valid." +msgstr "Archivo Subido CSV no se pudo analizar, Compruebe que el formato del archivo es válido." + +#: ../lib/CataBlog.class.php:1122 +msgid "Uploaded file was not of proper format, please make sure the filename has an xml or csv extension." +msgstr "El archivo subido no era de formato correcto, por favor asegúrese de que el nombre de archivo tiene un xml o csv." + +#: ../lib/CataBlog.class.php:1189 +msgid "The CataBlog upload directories have been unlocked." +msgstr "El CataBlog subir directorios han sido desbloqueados." + +#: ../lib/CataBlog.class.php:1192 +#: ../lib/CataBlog.class.php:1205 +msgid "Could not lock/unlock the directory. Are you using a unix based server?" +msgstr "No se pudo bloquear / desbloquear el directorio. ¿Está utilizando un servidor basado en Unix?" + +#: ../lib/CataBlog.class.php:1202 +msgid "The CataBlog upload directories have been locked." +msgstr "El CataBlog subir directorios se han bloqueado." + +#: ../lib/CataBlog.class.php:1319 +msgid "micro save successful" +msgstr "micro guardar con éxito" + +#: ../lib/CataBlog.class.php:1347 +msgid "Screen Options updated successfully." +msgstr "Opciones de la pantalla actualizado correctamente." + +#: ../lib/CataBlog.class.php:1376 +msgid "Commas, Pipes and reserved HTML characters are not allowed in category names." +msgstr "Las comas, Tubos y reservados caracteres HTML no están permitidos en los nombres de categoría." + +#: ../lib/CataBlog.class.php:1382 +msgid "Please be a little more specific with your category name." +msgstr "Por favor, un poco más específico con su nombre de la categoría." + +#: ../lib/CataBlog.class.php:1394 +msgid "There already is a category with that name." +msgstr "Ya existe una categoría con ese nombre." + +#: ../lib/CataBlog.class.php:1423 +msgid "Term Removed Successfully." +msgstr "Plazo eliminado con éxito." + +#: ../lib/CataBlog.class.php:1426 +msgid "Term did not exist, please refresh page and try again." +msgstr "Término no existía, por favor, volver a cargar la página e inténtalo de nuevo." + +#: ../lib/CataBlog.class.php:1468 +msgid "unsupported image size type" +msgstr "imagen sin soporte en papel del tamaño" + +#: ../lib/CataBlog.class.php:1477 +#, php-format +msgid "Rendering... %s of %s" +msgstr "Representación... %s de %s" + +#: ../lib/CataBlog.class.php:1479 +msgid "Image rendering is now complete." +msgstr "De representación en imágenes se ha completado." + +#: ../lib/CataBlog.class.php:1520 +msgid "error" +msgstr "error" + +#: ../lib/CataBlog.class.php:1523 +msgid "sub image deleted successfully" +msgstr "sub imagen eliminado con éxito" + +#: ../lib/CataBlog.class.php:1542 +#, php-format +msgid "%s library items deleted successfully." +msgstr "%s elementos de la biblioteca eliminado con éxito." + +#: ../lib/CataBlog.class.php:1545 +msgid "CataBlog Library Cleared Successfully." +msgstr "Colección CataBlog aclarados con éxito." + +#: ../lib/CataBlog.class.php:1558 +msgid "CataBlog Options, Directories and Terms Deleted Successfully." +msgstr "Opciones CataBlog, Directorios y Condiciones eliminados con éxito." + +#: ../lib/CataBlog.class.php:1559 +msgid "You may now go deactivate CataBlog and nothing will be left behind." +msgstr "Ahora puede ir a desactivar CataBlog y nada se quedará atrás." + +#: ../lib/CataBlog.class.php:1560 +msgid "If you want to continue using CataBlog, go to the library to re-install necessary settings." +msgstr "Si desea seguir utilizando CataBlog, ir a la biblioteca para volver a instalar los ajustes necesarios." + +#: ../lib/CataBlog.class.php:1695 +#, php-format +msgid "CataBlog %s LightBox Styles | %s" +msgstr "CataBlog %s LightBox Styles | %s" + +#: ../lib/CataBlog.class.php:1715 +msgid "You may also press "P" or the left arrow on your keyboard" +msgstr "También puede pulsar "A" o la flecha izquierda del teclado" + +#: ../lib/CataBlog.class.php:1716 +msgid "You may also press "N" or the right arrow on your keyboard" +msgstr "También puede presionar "S" o la flecha derecha del teclado" + +#: ../lib/CataBlog.class.php:1717 +msgid "Close LightBox Now" +msgstr "Cerca LightBox Ahora" + +#: ../lib/CataBlog.class.php:1718 +msgid "PREV" +msgstr "ANTERIOR" + +#: ../lib/CataBlog.class.php:1719 +msgid "NEXT" +msgstr "SIGUIENTE" + +#: ../lib/CataBlog.class.php:1720 +msgid "CLOSE" +msgstr "CERRAR" + +#: ../lib/CataBlog.class.php:1724 +#, php-format +msgid "CataBlog %s LightBox JavaScript | %s" +msgstr "CataBlog %s LightBox JavaScript | %s" + +#: ../lib/CataBlog.class.php:1726 +msgid "End CataBlog LightBox JavaScript" +msgstr "Fin CataBlog LightBox JavaScript" + +#: ../lib/CataBlog.class.php:1920 +#, php-format +msgid "CataBlog ShortCode Parameter Error: The template attribute of this ShortCode points to a file that does not exist. Please make sure their is a file with the name '%s.htm' in the views directory." +msgstr "CataBlog abreviado de parámetros de error: El atributo de plantilla de este código abreviado puntos a un archivo que no existe. Por favor, asegúrese de que su es un archivo con '%s.htm' el nombre en el directorio de puntos de 'view'." + +#: ../lib/CataBlog.class.php:1921 +#: ../templates/admin-library.php:20 +msgid "Learn More" +msgstr "Más información" + +#: ../lib/CataBlog.class.php:2032 +#, php-format +msgid "CataBlog options and directories have been successfully installed. Please, %srefresh now%s" +msgstr "Opciones CataBlog y directorios se han instalado con éxito. Por favor, %sactualice ahora%s" + +#: ../lib/CataBlog.class.php:2085 +#, php-format +msgid "There was an error creating the default term: %s" +msgstr "Se ha producido un error al crear el término por defecto: %s" + +#: ../lib/CataBlog.class.php:2123 +msgid "CataBlog options and directories have been successfully upgraded." +msgstr "Opciones CataBlog y directorios se han actualizado correctamente." + +#: ../lib/CataBlog.class.php:2357 +#: ../lib/CataBlog.class.php:2397 +#: ../lib/CataBlog.class.php:2400 +#: ../lib/CataBlog.class.php:2403 +msgid "Error:" +msgstr "Error:" + +#: ../lib/CataBlog.class.php:2371 +msgid "Success:" +msgstr "Éxito:" + +#: ../lib/CataBlog.class.php:2371 +#, php-format +msgid " %s inserted into catalog categories." +msgstr "%s inserta en categorías catálogo." + +#: ../lib/CataBlog.class.php:2379 +msgid "All New Categories Created" +msgstr "Todas las categorías Nueva creación" + +#: ../lib/CataBlog.class.php:2383 +msgid "No New Categories Created" +msgstr "No hay nuevas categorías creadas" + +#: ../lib/CataBlog.class.php:2396 +msgid "Update:" +msgstr "Actualización:" + +#: ../lib/CataBlog.class.php:2396 +#, php-format +msgid " %s updated in database." +msgstr "%s actualizada la base de datos." + +#: ../lib/CataBlog.class.php:2397 +#, php-format +msgid " %s was not inserted into the database." +msgstr "%s no fue insertado en la base de datos." + +#: ../lib/CataBlog.class.php:2400 +msgid "Item had no title and could not be made." +msgstr "Artículo no tiene título y no pudo realizar." + +#: ../lib/CataBlog.class.php:2403 +msgid "Item had no primary image name and could not be made." +msgstr "Artículo no tiene nombre de la imagen principal y no pudo realizar." + +#: ../lib/CataBlog.class.php:2440 +msgid "Insert:" +msgstr "Insertar:" + +#: ../lib/CataBlog.class.php:2440 +#, php-format +msgid " %s inserted into the database." +msgstr "%s inserta en la base de datos." + +#: ../lib/CataBlog.class.php:2465 +msgid "All Catalog Items Processed" +msgstr "Todos los productos del catálogo procesados" + +#: ../lib/CataBlog.class.php:2530 +msgid "Uploaded File Exceeded The PHP Configurations Max File Size." +msgstr "El archivo subido excede el máximo de configuraciones de PHP Tamaño del archivo." + +#: ../lib/CataBlog.class.php:2533 +msgid "Upload File Exceeded The HTML Form's Max File Size." +msgstr "Carga de archivos ha superado el máximo de formulario HTML Tamaño del archivo." + +#: ../lib/CataBlog.class.php:2536 +msgid "File Only Partially Uploaded, Please Try Again." +msgstr "El archivo sólo parcialmente cargado, por favor intente de nuevo." + +#: ../lib/CataBlog.class.php:2539 +msgid "No File Selected For Upload. Please Resubmit The Form." +msgstr "No hay archivos seleccionados para subir. Por favor, vuelva a enviar el formulario." + +#: ../lib/CataBlog.class.php:2542 +msgid "Your Server's PHP Configuration Does Not Have A Temporary Folder For Uploads, Please Contact The System Admin." +msgstr "Configuración de su servidor PHP no tiene una carpeta temporal de Cargas, Póngase en contacto con el administrador del sistema." + +#: ../lib/CataBlog.class.php:2545 +msgid "Your Server's PHP Configuration Can Not Write To Disc, Please Contact The System Admin." +msgstr "Configuración de su servidor PHP no se puede escribir en el disco, Por favor contacte al administrador del sistema." + +#: ../lib/CataBlog.class.php:2548 +msgid "A PHP Extension Is Blocking PHP From Excepting Uploads, Please Contact The System Admin." +msgstr "Una extensión de PHP está bloqueando PHP De Cargas aceptar, Póngase en contacto con el administrador del sistema." + +#: ../lib/CataBlog.class.php:2551 +msgid "An Unknown Upload Error Has Occurred" +msgstr "Un desconocido Subir error ha ocurrido" + +#: ../lib/catablog.upload.php:57 +msgid "Login failure. You must be logged into the WordPress Admin section." +msgstr "Error de inicio de sesión. Usted debe estar registrado en la sección de administración de WordPress." + +#: ../lib/catablog.upload.php:61 +msgid "Your Admin account does not have permission to \"edit_posts\"." +msgstr "Su cuenta de administrador no tiene permiso para \"edit_posts\"." + +#: ../lib/catablog.upload.php:71 +msgid "Image could not be uploaded to the server, please try again." +msgstr "La imagen no puede ser cargado en el servidor, por favor, inténtelo de nuevo." + +#: ../lib/catablog.upload.php:103 +#: ../templates/admin-edit.php:78 +msgid "Save Changes" +msgstr "Guardar Cambios" + +#: ../lib/CataBlogDirectory.class.php:12 +#: ../lib/CataBlogDirectory.class.php:109 +msgid "Could not open directory." +msgstr "No se pudo abrir el directorio." + +#: ../lib/CataBlogItem.class.php:285 +msgid "An item must have an image associated with it." +msgstr "Un elemento debe tener una imagen." + +#: ../lib/CataBlogItem.class.php:291 +msgid "Can't write uploaded image to server, please make sure the catablog directory in you WordPress uploads folder is writable." +msgstr "No se puede escribir la imagen subido al servidor, por favor asegúrese de que el directorio catablog en ti WordPress carpeta de archivos se puede escribir." + +#: ../lib/CataBlogItem.class.php:296 +msgid "An item must have a title of at least one alphanumeric character." +msgstr "Un elemento debe tener un título de al menos un carácter alfanumérico." + +#: ../lib/CataBlogItem.class.php:301 +msgid "An item's title can not be more then 200 characters long." +msgstr "Título de un artículo no puede ser más de 200 caracteres de longitud." + +#: ../lib/CataBlogItem.class.php:306 +msgid "An item's date must exactly match the MySQL date format, YYYY-MM-DD HH:MM:SS" +msgstr "Fecha de un artículo debe coincidir exactamente con el formato de fecha de MySQL, YYYY-MM-DD HH:MM:SS" + +#: ../lib/CataBlogItem.class.php:314 +msgid "An item's date must be an actual day on the gregorian calendar." +msgstr "Fecha de un artículo debe ser una fecha exacta del calendario gregoriano." + +#: ../lib/CataBlogItem.class.php:319 +msgid "An item's date hour must be below twenty-four." +msgstr "Una hora elemento fecha debe ser inferior a veinticuatro." + +#: ../lib/CataBlogItem.class.php:324 +msgid "An item's order value must be a positive integer." +msgstr "El valor de un elemento de orden debe ser un entero positivo." + +#: ../lib/CataBlogItem.class.php:331 +msgid "An item's price must be a positive number." +msgstr "Precio de un artículo debe ser un número positivo." + +#: ../lib/CataBlogItem.class.php:354 +#: ../lib/CataBlogItem.class.php:541 +msgid "The image could not be used because it is an unsupported format. JPEG, GIF and PNG formats only, please." +msgstr "La imagen no pudo ser utilizado debido a que es un formato no compatible. JPEG, GIF y PNG solamente." + +#: ../lib/CataBlogItem.class.php:367 +#: ../lib/CataBlogItem.class.php:528 +msgid "Can not write uploaded image to server, your storage space is exhausted." +msgstr "No se puede escribir la imagen subido al servidor, el espacio de almacenamiento se ha agotado." + +#: ../lib/CataBlogItem.class.php:368 +#: ../lib/CataBlogItem.class.php:529 +msgid "Please delete some media files to free up space and try again." +msgstr "Por favor, elimine algunos archivos para liberar espacio y vuelve a intentarlo." + +#: ../lib/CataBlogItem.class.php:369 +#: ../lib/CataBlogItem.class.php:530 +#, php-format +msgid "You have %sMB of available space on your server and your image is %sMB." +msgstr "Tiene %sMB del espacio disponible en el servidor y su imagen es %sMB." + +#: ../lib/CataBlogItem.class.php:458 +msgid "Could not set categories, please try again." +msgstr "No se pudo establecer categorías, por favor, inténtelo de nuevo." + +#: ../lib/CataBlogItem.class.php:585 +#: ../lib/CataBlogItem.class.php:646 +#, php-format +msgid "Original image file missing, could not be located at %s" +msgstr "Archivo original de la imagen que falta, no se encuentra en %s" + +#: ../lib/CataBlogItem.class.php:592 +#: ../lib/CataBlogItem.class.php:653 +msgid "Original image dimensions are less then 1px. Most likely PHP does not have permission to read the original file." +msgstr "Imagen original dimensiones son inferiores a 1 píxel. Más probable es que PHP no tiene permiso para leer el archivo original." + +#: ../lib/CataBlogItem.class.php:621 +#: ../lib/CataBlogItem.class.php:675 +msgid "Original image could not be loaded because it is an unsupported format." +msgstr "Imagen original no se pudo cargar porque es un formato no compatible." + +#: ../templates/admin-404.php:4 +msgid "CataBlog Item Not Found" +msgstr "Catálogo del artículo no se encuentra" + +#: ../templates/admin-404.php:8 +msgid "You attempted to edit an item that doesn't exist. Perhaps it was deleted?" +msgstr "Ha intentado editar un elemento que no existe. Tal vez se ha eliminado?" + +#: ../templates/admin-404.php:10 +#: ../templates/admin-discfull.php:19 +msgid "Go To:" +msgstr "Ir a:" + +#: ../templates/admin-404.php:12 +#: ../templates/admin-discfull.php:20 +msgid "Dashboard" +msgstr "Escritorio" + +#: ../templates/admin-about.php:9 +#, php-format +msgid "%sCataBlog%s is written by %sZachary Segal%s in his spare time." +msgstr "%sCataBlog%s está escrito por %sZachary Segal%s en su tiempo libre." + +#: ../templates/admin-about.php:10 +#, php-format +msgid "It is a cataloging tool for %sWordPress%s that allows you to easily manage a list of items with automatically generated thumbnail images." +msgstr "Es una herramienta de catalogación para %sWordPress%s que te permite manejar fácilmente una lista de elementos con imágenes en miniatura generada automáticamente." + +#: ../templates/admin-about.php:11 +#, php-format +msgid "Use of CataBlog is completely free, even commercial sites for now, all that I ask is that you rate the plugin at the %sWordPress Plugin Repository%s." +msgstr "El uso de CataBlog es completamente gratis, incluso los sitios comerciales, por ahora, todo lo que pido es que la tasa de complemento en el %sRepositorio de WordPress Plugin%s." + +#: ../templates/admin-about.php:15 +#, php-format +msgid "%sCSS Modifications:%s You may always override CataBlog's CSS settings to create custom looks. If you make a catablog.css file in your active theme's directory it will be automatically loaded and applied. This makes it easy to prepare your custom theme for CataBlog integration and will also protect your customization for future version to come." +msgstr "%sModificaciones CSS%s: Usted siempre puede reemplazar la configuración de CSS CataBlog para crear estilos personalizados. Si comete un archivo en el directorio catablog.css su tema activo que se carga automáticamente y aplicada. Esto hace que sea fácil de preparar el tema personalizado para la integración CataBlog y también proteger a la personalización de la versión futuro por venir." + +#: ../templates/admin-about.php:20 +msgid "Server Statistics" +msgstr "Estadísticas del servidor" + +#: ../templates/admin-about.php:38 +msgid "CataBlog Version:" +msgstr "CataBlog Versión:" + +#: ../templates/admin-about.php:39 +msgid "MySQL Version:" +msgstr "Versión de MySQL:" + +#: ../templates/admin-about.php:40 +msgid "PHP Version:" +msgstr "Versión de PHP:" + +#: ../templates/admin-about.php:41 +msgid "PHP Memory Usage:" +msgstr "PHP uso de la memoria:" + +#: ../templates/admin-about.php:42 +msgid "PHP Memory Limit:" +msgstr "Límite de memoria de PHP:" + +#: ../templates/admin-about.php:43 +msgid "Max Uploaded File Size:" +msgstr "Max Subido Tamaño del archivo:" + +#: ../templates/admin-about.php:44 +msgid "Max Post size:" +msgstr "Número máximo de tamaño de mensaje:" + +#: ../templates/admin-about.php:45 +msgid "Thumbnail Disc Usage:" +msgstr "Miniatura de uso del disco:" + +#: ../templates/admin-about.php:46 +msgid "Full Size Disc Usage:" +msgstr "De tamaño completo de uso del disco:" + +#: ../templates/admin-about.php:47 +msgid "Original Upload Disc Usage:" +msgstr "Original Subir uso del disco:" + +#: ../templates/admin-about.php:48 +msgid "Total Disc Usage:" +msgstr "Uso total de disco:" + +#: ../templates/admin-contextual-help.php:11 +msgid "You may edit your catalog entry as you see fit in this panel." +msgstr "Puede modificar su inscripción en el catálogo como mejor le parezca en este panel." + +#: ../templates/admin-contextual-help.php:12 +msgid "Notice that the description accepts HTML code. This makes it easy to refine your catalog layout inside your description." +msgstr "Tenga en cuenta que la descripción acepta el código HTML. Eso hace que sea fácil de refinar el diseño de catálogo dentro de su descripción." + +#: ../templates/admin-contextual-help.php:17 +msgid "CataBlog is a comprehensive and easy to use cataloging system for WordPress. " +msgstr "CataBlog es un completo y fácil de usar sistema de catalogación para WordPress." + +#: ../templates/admin-contextual-help.php:19 +msgid "Get started by making your first catalog item, click the Add New button near the page title. " +msgstr "Comience haciendo su artículo primer catálogo, haga clic en el botón agregar nuevo cerca del título de la página." + +#: ../templates/admin-contextual-help.php:22 +#, php-format +msgid "You may learn more about CataBlog at %scatablog.illproductions.com%s. " +msgstr "Usted puede aprender más sobre CataBlog en %scatablog.illproductions.com%s." + +#: ../templates/admin-contextual-help.php:25 +#, php-format +msgid "A lot of time and effort has gone into creating this plugin, %splease donate%s to Zach and help the continued development of CataBlog." +msgstr "Una gran cantidad de tiempo y esfuerzo ha invertido en la creación de este plugin, %spor favor donar%s a Zach y ayudar al desarrollo continuo de CataBlog." + +#: ../templates/admin-contextual-help.php:34 +msgid "To create a new catalog entry first upload an image by selecting a file and then clicking the upload button. " +msgstr "Para crear una entrada de catálogo primer nuevo subir una imagen al seleccionar un archivo y luego hacer clic en el botón de subida." + +#: ../templates/admin-contextual-help.php:35 +msgid "After the upload is successful a new catalog entry will be generated with the name of the file you uploaded. " +msgstr "Después de la carga se realiza correctamente una entrada de catálogo se generará una nueva con el nombre del archivo que has subido." + +#: ../templates/admin-contextual-help.php:44 +msgid "CataBlog offer many options that let you modify your catalog and its appearance." +msgstr "CataBlog ofrecen muchas opciones que permiten modificar su catálogo y su apariencia." + +#: ../templates/admin-contextual-help.php:52 +msgid "Please make sure to support the plugin author by donating." +msgstr "Por favor, asegúrese de apoyar el autor del plugin con la donación." + +#: ../templates/admin-contextual-help.php:60 +msgid "Your CataBlog originals upload folder is being scanned for any files that are not currently in the database." +msgstr "Los originales CataBlog carpeta de carga se analizan en busca de los archivos que no están actualmente en la base de datos." + +#: ../templates/admin-contextual-help.php:68 +msgid "CataBlog is regenerating all the images in the CataBlog thumbnail and LightBox folders." +msgstr "CataBlog es la regeneración de todas las imágenes de la miniatura CataBlog y carpetas LightBox." + +#: ../templates/admin-contextual-help.php:76 +msgid "CataBlog is being completely removed, afterwards you may go back to the library view to reinstall the default settings." +msgstr "CataBlog está siendo eliminado por completo, después puede volver a la vista de biblioteca para volver a instalar la configuración predeterminada." + +#: ../templates/admin-contextual-help.php:77 +msgid "If you wish to completely remove CataBlog, do not go to the library view, instead disable CataBlog after this is complete." +msgstr "Si desea eliminar por completo CataBlog, no vaya a la vista de la biblioteca, en lugar CataBlog desactivar después de esta se ha completado." + +#: ../templates/admin-discfull.php:4 +msgid "Storage Space Full!" +msgstr "Espacio de almacenamiento completo!" + +#: ../templates/admin-discfull.php:9 +msgid "CataBlog can't make a new entry because your site has run out of storage space." +msgstr "CataBlog no puede hacer una nueva entrada debido a que su sitio se ha quedado sin espacio de almacenamiento." + +#: ../templates/admin-discfull.php:13 +#, php-format +msgid "You are currently using %sMB of %sMB of storage space." +msgstr "En este momento está usando %sMB de %sMB de espacio de almacenamiento." + +#: ../templates/admin-discfull.php:16 +msgid "Please talk to your WordPress Administrator to have more space allocated to your site or delete some previous uploaded content." +msgstr "Por favor, consulte con su administrador de WordPress para tener más espacio asignado a su sitio o eliminar parte del contenido anterior subida." + +#: ../templates/admin-discfull.php:21 +msgid "Media" +msgstr "Multimedia" + +#: ../templates/admin-edit.php:13 +msgid "Main" +msgstr "Principales" + +#: ../templates/admin-edit.php:17 +msgid "Images" +msgstr "Imágenes" + +#: ../templates/admin-edit.php:26 +msgid "Replace Main Image" +msgstr "Reemplace Imagen Principal" + +#: ../templates/admin-edit.php:28 +msgid "Add Sub Image" +msgstr "Añadir Imagen Secundaria" + +#: ../templates/admin-edit.php:32 +msgid "JavaScript is required to add images." +msgstr "Se requiere JavaScript para añadir imágenes." + +#: ../templates/admin-edit.php:43 +msgid "Delete this sub image permanently." +msgstr "Eliminar esta imagen secundaria de forma permanente." + +#: ../templates/admin-edit.php:48 +msgid "No Sub Images" +msgstr "No hay imágenes secundarias" + +#: ../templates/admin-edit.php:57 +#: ../templates/admin-list.php:11 +#: ../templates/admin-list.php:48 +msgid "Title" +msgstr "Título" + +#: ../templates/admin-edit.php:66 +#: ../templates/admin-list.php:17 +#: ../templates/admin-list.php:50 +msgid "Description" +msgstr "Descripción" + +#: ../templates/admin-edit.php:66 +msgid "accepts html formatting" +msgstr "acepta el formato html" + +#: ../templates/admin-edit.php:79 +#, php-format +msgid "or %sback to list%s" +msgstr "o %svolver a la lista%s" + +#: ../templates/admin-edit.php:93 +msgid "Attributes" +msgstr "Atributos" + +#: ../templates/admin-edit.php:96 +#, php-format +msgid "Date: %s" +msgstr "Fecha: %s" + +#: ../templates/admin-edit.php:97 +#: ../templates/admin-edit.php:108 +msgid "edit" +msgstr "editar" + +#: ../templates/admin-edit.php:102 +msgid "Format: YYYY-MM-DD HH:MM:SS" +msgstr "Formato: YYYY-MM-DD HH:MM:SS" + +#: ../templates/admin-edit.php:107 +#, php-format +msgid "Order: %s" +msgstr "Orden: %s" + +#: ../templates/admin-edit.php:113 +msgid "Enter a integer value to be assigned as this catalog item's order. There is only one order value per catalog item." +msgstr "Introduzca un valor entero que se asignará como pedir este artículo del catálogo. No es sólo un valor para cada elemento del catálogo." + +#: ../templates/admin-edit.php:120 +msgid "Fields" +msgstr "Campos" + +#: ../templates/admin-edit.php:123 +#: ../templates/admin-list.php:18 +#: ../templates/admin-list.php:51 +msgid "Link" +msgstr "Enlace" + +#: ../templates/admin-edit.php:124 +#: ../templates/admin-edit.php:133 +#: ../templates/admin-edit.php:143 +msgid "help" +msgstr "ayuda" + +#: ../templates/admin-edit.php:128 +msgid "Enter a relative or absolute web address to make this item a hyperlink. External links should start with http://." +msgstr "Introduzca una dirección web relativa o absoluta para hacer de este tema en un hipervínculo. Enlaces externos debe comenzar con http://." + +#: ../templates/admin-edit.php:132 +msgid "Item Price" +msgstr "Precio del artículo" + +#: ../templates/admin-edit.php:137 +msgid "If your catalog item has a price above zero, it will generate a buy now button you may display." +msgstr "Si el elemento de catálogo tiene un precio por encima de cero, se generará un botón Comprar ahora usted puede mostrar." + +#: ../templates/admin-edit.php:142 +#: ../templates/admin-list.php:20 +#: ../templates/admin-list.php:53 +msgid "Product Code" +msgstr "Código del Producto" + +#: ../templates/admin-edit.php:147 +msgid "This field is intended for usage as a product code for the PayPal buy now buttons." +msgstr "Este campo está destinado a ser utilizado como un código de producto para la compra de PayPal ahora botones." + +#: ../templates/admin-edit.php:152 +#, php-format +msgid "If you want to make a shopping cart you should make sure you are using a %sStore Template%s that uses these values." +msgstr "Si desea hacer una cesta de la compra usted debe asegurarse de que está utilizando una %splantilla de tienda%s que utiliza estos valores." + +#: ../templates/admin-edit.php:158 +#: ../templates/admin-list.php:22 +#: ../templates/admin-list.php:55 +msgid "Categories" +msgstr "Categorías" + +#: ../templates/admin-edit.php:166 +msgid "You currently have no categories." +msgstr "En estos momentos no tienen categorías." + +#: ../templates/admin-edit.php:176 +#: ../templates/admin-edit.php:410 +msgid "[DELETE]" +msgstr "[ELIMINAR]" + +#: ../templates/admin-edit.php:188 +msgid "You must have a JavaScript enabled browser to create new categories." +msgstr "Usted debe tener un explorador Javascript activado para poder crear nuevas categorías." + +#: ../templates/admin-edit.php:194 +msgid "New" +msgstr "Nuevo" + +#: ../templates/admin-edit.php:199 +msgid "Put your items into categories to easily display subsets of your catalog on different pages." +msgstr "Ponga sus artículos en categorías para visualizar fácilmente los subconjuntos de su catálogo en diferentes páginas." + +#: ../templates/admin-edit.php:200 +msgid "ex:" +msgstr "ex:" + +#: ../templates/admin-edit.php:218 +#: ../templates/admin-edit.php:242 +#: ../templates/admin-library.php:139 +msgid "[close]" +msgstr "[cerrar]" + +#: ../templates/admin-edit.php:219 +msgid "Upload A New Sub Image" +msgstr "Subir un Sub Nueva Imagen" + +#: ../templates/admin-edit.php:222 +#: ../templates/admin-edit.php:246 +msgid "Save Other Changes Before Uploading A New Image." +msgstr "Guardar cambios Otros Antes de subir una nueva imagen." + +#: ../templates/admin-edit.php:229 +#: ../templates/admin-edit.php:252 +#: ../templates/admin-new.php:21 +msgid "Upload" +msgstr "Subir" + +#: ../templates/admin-edit.php:231 +msgid "Select an image to add as a sub image, this upload will not replace this item's main image." +msgstr "Seleccione una imagen para agregar una imagen secundaria, esta subida no sustituirá a la imagen principal." + +#: ../templates/admin-edit.php:232 +#: ../templates/admin-edit.php:255 +#: ../templates/admin-new.php:28 +msgid "You may upload JPEG, GIF and PNG graphic formats only." +msgstr "Usted puede subir archivos JPEG, GIF y PNG gráficos solamente." + +#: ../templates/admin-edit.php:233 +#: ../templates/admin-edit.php:256 +#: ../templates/admin-new.php:29 +msgid "No animated GIFs please." +msgstr "No hay archivos GIF animados por favor." + +#: ../templates/admin-edit.php:243 +msgid "Replace The Main Image" +msgstr "Reemplazo de la imagen principal" + +#: ../templates/admin-edit.php:254 +msgid "Select an image on your computer to upload and replace this item's main image with." +msgstr "Seleccione una imagen en su ordenador para cargar y cambiar la imagen principal de este aparato con." + +#: ../templates/admin-edit.php:257 +msgid "This will replace the main image, forever deleting the current main image." +msgstr "Esto reemplazará la imagen principal, eliminando para siempre la imagen principal actual." + +#: ../templates/admin-edit.php:325 +msgid "Are you sure you want to delete this category? You can not undo this." +msgstr "¿Está seguro que desea eliminar esta categoría? No se puede deshacer esto." + +#: ../templates/admin-edit.php:386 +msgid "Please make sure to enter a category name" +msgstr "Por favor, asegúrese de ingresar un nombre de categoría" + +#: ../templates/admin-edit.php:452 +msgid "Are you sure you want to permanently delete this image?" +msgstr "¿Está seguro que desea eliminar permanentemente esta imagen?" + +#: ../templates/admin-grid.php:5 +#: ../templates/admin-list.php:66 +msgid "No catalog items found" +msgstr "No hay artículos del catálogo online" + +#: ../templates/admin-grid.php:8 +#: ../templates/admin-list.php:69 +msgid "Use the category drop down above to switch category views." +msgstr "Use el menú categoría más arriba para cambiar de vista categoría." + +#: ../templates/admin-import.php:4 +msgid "CataBlog Import Results" +msgstr "CataBlog Resultados de importación" + +#: ../templates/admin-import.php:8 +msgid "Import Console" +msgstr "Consola de Importación" + +#: ../templates/admin-import.php:12 +msgid "You must select a valid XML or CSV file to be used for import." +msgstr "Debe seleccionar un válido XML o CSV para ser utilizado para la importación." + +#: ../templates/admin-import.php:15 +#, php-format +msgid "You may choose to read more about %simporting and exporting data from CataBlog%s." +msgstr "Usted puede elegir para leer más acerca %simportar y exportar datos de CataBlog%s." + +#: ../templates/admin-import.php:17 +#, php-format +msgid "Once you have fixed your file and its format please %stry again%s." +msgstr "Una vez que haya solucionado su archivo y su formato por favor, %sinténtelo de nuevo%s." + +#: ../templates/admin-import.php:23 +msgid "removing catalog items..." +msgstr "la eliminación de artículos del catálogo ..." + +#: ../templates/admin-import.php:28 +msgid "Success: All catalog items removed successfully" +msgstr "Insertar: Todo el catálogo de elementos quitado con éxito" + +#: ../templates/admin-import.php:30 +msgid "removing catalog categories..." +msgstr "la eliminación de categorías catálogo ..." + +#: ../templates/admin-import.php:32 +msgid "Success: All catalog categories removed successfully" +msgstr "Éxito: Todo el catálogo de categorías eliminado correctamente" + +#: ../templates/admin-import.php:34 +msgid "DataBase Cleared Successfully" +msgstr "Base de datos aclarados con éxito" + +#: ../templates/admin-library.php:19 +msgid "You must have a JavaScript enabled browser for bulk actions and to change the order of your items." +msgstr "Usted debe tener un explorador tener Javascript activado para las acciones a granel y para cambiar el orden de sus artículos." + +#: ../templates/admin-library.php:34 +msgid "Bulk Actions" +msgstr "Acciones" + +#: ../templates/admin-library.php:35 +msgid "Edit Categories" +msgstr "Editar categorías" + +#: ../templates/admin-library.php:36 +#: ../templates/admin-list.php:91 +msgid "Delete" +msgstr "Eliminar" + +#: ../templates/admin-library.php:39 +msgid "Apply" +msgstr "Aplicar" + +#: ../templates/admin-library.php:44 +msgid "View" +msgstr "Ver" + +#: ../templates/admin-library.php:47 +msgid "All Categories" +msgstr "Todas las categorías" + +#: ../templates/admin-library.php:66 +#: ../templates/admin-library.php:115 +#, php-format +msgid "%s items" +msgstr "%s elementos" + +#: ../templates/admin-library.php:70 +#: ../templates/admin-library.php:117 +msgid "Go to the first page" +msgstr "Ir a la primera página" + +#: ../templates/admin-library.php:71 +#: ../templates/admin-library.php:118 +msgid "Go to the previous page" +msgstr "Ir a la página anterior" + +#: ../templates/admin-library.php:75 +#: ../templates/admin-library.php:122 +msgid "Current page" +msgstr "Página actual" + +#: ../templates/admin-library.php:76 +#: ../templates/admin-library.php:123 +msgid "of" +msgstr "de" + +#: ../templates/admin-library.php:80 +#: ../templates/admin-library.php:127 +msgid "Go to the next page" +msgstr "Ir a la página siguiente" + +#: ../templates/admin-library.php:81 +#: ../templates/admin-library.php:128 +msgid "Go to the last page" +msgstr "Ir a la última página" + +#: ../templates/admin-library.php:92 +msgid "List View" +msgstr "Ver lista" + +#: ../templates/admin-library.php:95 +msgid "Grid View" +msgstr "Cuadrícula Vista" + +#: ../templates/admin-library.php:140 +msgid "Edit Multiple Catalog Item's Categories" +msgstr "Editar categorías del artículo Catálogo de múltiples" + +#: ../templates/admin-library.php:145 +msgid "Add to categories" +msgstr "Agregar a las categorías" + +#: ../templates/admin-library.php:150 +#: ../templates/admin-library.php:170 +msgid "You have no categories." +msgstr "Usted no tiene categorías." + +#: ../templates/admin-library.php:165 +msgid "Remove from categories" +msgstr "Borrar de categorías" + +#: ../templates/admin-library.php:190 +msgid "Change Multiple Categories" +msgstr "Cambio múltiples categorías" + +#: ../templates/admin-library.php:192 +msgid "Select the categories you would like each selected item to be part of by checking their boxes." +msgstr "Seleccione las categorías que le gustaría que cada elemento seleccionado para formar parte de la comprobación de sus cajas." + +#: ../templates/admin-library.php:193 +msgid "After the bulk edit, the selected items will be in only the categories selected above." +msgstr "Después de la edición masiva, los elementos seleccionados será sólo en las categorías seleccionadas anteriormente." + +#: ../templates/admin-library.php:216 +msgid "Please select a bulk action to apply." +msgstr "Por favor, seleccione una acción masiva de aplicar." + +#: ../templates/admin-library.php:223 +msgid "Please select at least one catalog item first." +msgstr "Por favor, seleccione al menos un elemento de primer catálogo." + +#: ../templates/admin-library.php:242 +msgid "Are you sure you want to delete multiple items?" +msgstr "¿Está seguro que desea eliminar varios elementos?" + +#: ../templates/admin-library.php:271 +msgid "Are you sure you want to permanently delete this catalog items?" +msgstr "¿Está seguro que desea eliminar permanentemente esta artículos del catálogo?" + +#: ../templates/admin-list.php:5 +#: ../templates/admin-list.php:47 +msgid "Image" +msgstr "Imagen" + +#: ../templates/admin-list.php:19 +#: ../templates/admin-list.php:52 +msgid "Price" +msgstr "Precio" + +#: ../templates/admin-list.php:28 +#: ../templates/admin-list.php:56 +msgid "Order" +msgstr "Orden" + +#: ../templates/admin-list.php:38 +#: ../templates/admin-list.php:57 +msgid "Date" +msgstr "Fecha" + +#: ../templates/admin-list.php:89 +msgid "Edit" +msgstr "Editar" + +#: ../templates/admin-new.php:13 +msgid "Upload An Image To Create A New Catalog Item" +msgstr "Subir una foto para crear un elemento nuevo catálogo" + +#: ../templates/admin-new.php:14 +msgid "Upload Multiple Images" +msgstr "Subir varias imágenes" + +#: ../templates/admin-new.php:24 +#, php-format +msgid "Maximum upload file size: %sB" +msgstr "Tamaño máximo de subida de archivos: %sB" + +#: ../templates/admin-new.php:27 +msgid "Select images on your computer to upload and make new catalog items with." +msgstr "Seleccione las imágenes en su ordenador para cargar y hacer nuevos temas catálogo." + +#: ../templates/admin-new.php:65 +#, php-format +msgid "currently uploading %s of %s" +msgstr "Actualmente subir %s de %s" + +#: ../templates/admin-new.php:95 +msgid "Select Images" +msgstr "Elegir archivos" + +#: ../templates/admin-new.php:128 +msgid "Cancel Upload" +msgstr "Cancelar Subir" + +#: ../templates/admin-options.php:8 +msgid "You must have a JavaScript enabled browser to change the CataBlog options." +msgstr "Usted debe tener un explorador Javascript activado para poder cambiar las opciones de CataBlog." + +#: ../templates/admin-options.php:17 +#: ../templates/admin-regenerate.php:22 +#: ../templates/admin-rescan.php:24 +msgid "Processing Thumbnail Images..." +msgstr "Procesamiento de imágenes en miniatura ..." + +#: ../templates/admin-options.php:24 +msgid "Waiting For LightBox Rendering To Finish..." +msgstr "Esperando LightBox que termine el renderizado ..." + +#: ../templates/admin-options.php:31 +msgid "Thumbnails" +msgstr "Miniaturas" + +#: ../templates/admin-options.php:32 +msgid "LightBox" +msgstr "LightBox" + +#: ../templates/admin-options.php:33 +msgid "Public" +msgstr "Pública" + +#: ../templates/admin-options.php:36 +msgid "Template" +msgstr "Plantilla" + +#: ../templates/admin-options.php:37 +msgid "Store" +msgstr "Tienda" + +#: ../templates/admin-options.php:38 +msgid "Export" +msgstr "Exportación" + +#: ../templates/admin-options.php:39 +msgid "Import" +msgstr "Importar" + +#: ../templates/admin-options.php:40 +msgid "Systems" +msgstr "Sistemas" + +#: ../templates/admin-options.php:47 +msgid "Thumbnail Size:" +msgstr "Miniatura Tamaño:" + +#: ../templates/admin-options.php:49 +#: ../templates/admin-options.php:98 +msgid "pixels" +msgstr "píxeles" + +#: ../templates/admin-options.php:51 +msgid "Your thumbnail size must be a positive integer." +msgstr "Su tamaño miniatura debe ser un entero positivo." + +#: ../templates/admin-options.php:52 +msgid "this will change the thumbnail size of all your catalog items." +msgstr "esto va a cambiar el tamaño de las miniaturas de todos sus artículos del catálogo." + +#: ../templates/admin-options.php:56 +msgid "Keep Aspect Ratio:" +msgstr "Mantener relación de aspecto:" + +#: ../templates/admin-options.php:59 +msgid "this will keep the aspect ratio of the original image in your thumbnails, using the background color to fill in the empty space." +msgstr "esto mantendrá la relación de aspecto de la imagen original en las miniaturas, usando el color de fondo para rellenar el espacio vacío." + +#: ../templates/admin-options.php:62 +msgid "Thumbnail Background Color:" +msgstr "Miniatura de Color de fondo:" + +#: ../templates/admin-options.php:65 +msgid "Select a Color" +msgstr "Elija un color" + +#: ../templates/admin-options.php:70 +msgid "Thumbnail Preview" +msgstr "Vista previa de miniaturas" + +#: ../templates/admin-options.php:83 +msgid "Enable LightBox:" +msgstr "Habilitar LightBox:" + +#: ../templates/admin-options.php:85 +msgid "Load the necessary javascript libraries to enlarge an image thumbnail with the LightBox effect." +msgstr "Cargar las bibliotecas javascript necesario para ampliar una imagen en miniatura con el efecto LightBox." + +#: ../templates/admin-options.php:90 +msgid "Render a new image to be used for the lightbox:" +msgstr "Procesamiento de una nueva imagen que se utilizará para la mesa de luz:" + +#: ../templates/admin-options.php:92 +msgid "check this box to render a similarly sized image for each catalog item to be used with the LightBox." +msgstr "Marque esta casilla para hacer una imagen de tamaño similar para cada elemento del catálogo para ser utilizado con la caja de luz." + +#: ../templates/admin-options.php:96 +msgid "LightBox Size:" +msgstr "LightBox Tamaño:" + +#: ../templates/admin-options.php:99 +msgid "Your lightbox size must be a positive integer." +msgstr "El tamaño de LightBox debe ser un entero positivo." + +#: ../templates/admin-options.php:100 +msgid "This is the maximum length of either the height or width, depending on whichever is longer in the original uploaded image." +msgstr "Esta es la longitud máxima de la altura o anchura, dependiendo de lo que es más largo en la imagen original subido." + +#: ../templates/admin-options.php:104 +msgid "LightBox jQuery Selector:" +msgstr "LightBox jQuery Selector:" + +#: ../templates/admin-options.php:107 +msgid "This lets you modify the selector used by jQuery to attach the LightBox to image thumbnails. The default value is: .catablog-image" +msgstr "Esto le permite modificar la selección utilizados por jQuery para colocar la caja de luz a miniaturas de las imágenes. El valor por defecto es:. catablog imagen" + +#: ../templates/admin-options.php:121 +msgid "Enable Individual Pages and Category Archives:" +msgstr "Permitir que las Páginas individuales y Archivos Categoría:" + +#: ../templates/admin-options.php:123 +msgid "If this is checked, each and every catalog item will get its very own page, complete with permalink." +msgstr "Si se marca esta opción, todos y cada elemento del catálogo tendrá su propia página, con enlace permanente." + +#: ../templates/admin-options.php:124 +msgid "Also, each CataBlog Category will have their own archive page automatically generated." +msgstr "Además, cada categoría CataBlog tendrán su propia página de archivo generado automáticamente." + +#: ../templates/admin-options.php:125 +#, php-format +msgid "These CataBlog Category pages can easily be added to your %sMenus%s with the Screen Options panel." +msgstr "Estas páginas CataBlog Categoría fácilmente se pueden agregar a sus %smenús%s con el panel de la pantalla de opciones." + +#: ../templates/admin-options.php:129 +msgid "Individual Pages Slug:" +msgstr "Páginas individuales Slug:" + +#: ../templates/admin-options.php:131 +msgid "This is the identifying slug your blog will use to create your individual catalog item pages." +msgstr "Esta es la identificación de bala su blog se use para crear sus páginas cada artículo del catálogo." + +#: ../templates/admin-options.php:135 +msgid "Category Pages Slug:" +msgstr "Páginas Categoría Slug:" + +#: ../templates/admin-options.php:137 +msgid "This is the identifying slug your blog will use to create your catalog archive pages." +msgstr "Esta es la babosa de la identificación de su blog se use para crear sus páginas de archivo de catálogo." + +#: ../templates/admin-options.php:143 +msgid "Catalog Slugs Warning" +msgstr "Las babosas Catálogo de advertencia" + +#: ../templates/admin-options.php:144 +#, php-format +msgid "Please make sure you do not set either of your catalog slugs to a %sWordPress Reserved Term%s." +msgstr "Por favor, asegúrese de que no establece ninguna de las babosas de su catálogo a un %splazo de WordPress reservados%s." + +#: ../templates/admin-options.php:145 +msgid "These labels must also be URL friendly, so they may be transformed from your original input." +msgstr "Estas etiquetas también deben presentar una URL amigable, por lo que puede ser transformado desde su entrada original." + +#: ../templates/admin-options.php:149 +msgid "Changing Catalog Slugs" +msgstr "Cambio de babosas Catálogo" + +#: ../templates/admin-options.php:150 +#, php-format +msgid "If you change these values, please immediately visit the %sPermalinks%s panel to update your rewrite rules." +msgstr "Si cambia estos valores, le rogamos que visite el panel %sPermalinks%s para actualizar sus reglas de reescritura." + +#: ../templates/admin-options.php:151 +msgid "Your individual catalog item pages and archives will not work until you have updated your rewrite rules." +msgstr "Sus páginas individuales elemento de catálogo y los archivos no funcionará hasta que haya actualizado la reglas de reescritura." + +#: ../templates/admin-options.php:161 +msgid "Link Target:" +msgstr "Destino de vínculo:" + +#: ../templates/admin-options.php:164 +msgid "The link target setting will set the target attribute of all the catalog title links." +msgstr "La fijación de objetivos enlace se establece el atributo de destino de todos los enlaces catálogo título." + +#: ../templates/admin-options.php:165 +#: ../templates/admin-options.php:173 +msgid "examples:" +msgstr "ejemplos:" + +#: ../templates/admin-options.php:169 +msgid "Link Relationship:" +msgstr "Vincular la relación:" + +#: ../templates/admin-options.php:172 +msgid "The link relationship will set the rel attribute of all the catalog title links." +msgstr "La relación de enlace se establece el atributo rel de todos los enlaces catálogo título." + +#: ../templates/admin-options.php:183 +msgid "Enable WordPress Filters:" +msgstr "Habilitar WordPress Filtros:" + +#: ../templates/admin-options.php:186 +msgid "Enable the standard WordPress filters for your catalog item's description." +msgstr "Habilitar los filtros estándar de WordPress para su catálogo de descripción de artículos." + +#: ../templates/admin-options.php:187 +msgid "This allows you to use ShortCodes and media embeds inside your catalog item descriptions." +msgstr "Esto le permite utilizar códigos cortos y reproductores multimedia dentro de las descripciones de catálogo tema." + +#: ../templates/admin-options.php:188 +msgid "Please do not use the CataBlog ShortCode inside a catalog item's description." +msgstr "Por favor, no use el código abreviado CataBlog dentro de la descripción un elemento de catálogo." + +#: ../templates/admin-options.php:194 +msgid "Render Line Breaks:" +msgstr "Render saltos de línea:" + +#: ../templates/admin-options.php:197 +#, php-format +msgid "Filter your catalog item's description through the standard PHP function %s." +msgstr "Filtro descripción de su artículo del catálogo a través de la función estándar de PHP, %s." + +#: ../templates/admin-options.php:198 +msgid "This will insert HTML line breaks before all new lines in your catalog descriptions." +msgstr "Esto insertar HTML saltos de línea antes de todas las nuevas líneas en las descripciones de su catálogo." + +#: ../templates/admin-options.php:199 +msgid "Turn this off if unwanted line breaks are being rendered on your page." +msgstr "Desactivar esta opción si se rompe la línea no deseados están siendo prestados en su página." + +#: ../templates/admin-options.php:214 +#: ../templates/admin-options.php:257 +msgid "Load Template" +msgstr "Cargar plantilla" + +#: ../templates/admin-options.php:216 +#: ../templates/admin-options.php:259 +msgid "Could not locate the views directory. Please reinstall CataBlog." +msgstr "No se pudo encontrar el directorio de puntos de vista. Por favor, vuelva a instalar CataBlog." + +#: ../templates/admin-options.php:225 +msgid "You may change the html code rendered by CataBlog here, this allows you to make fundamental changes to how catalogs will appear in your posts. You may choose a template from the drop down menu at top and then click Load Template to load it into the template code. If you want to setup a photo gallery I would recommend that you load the Gallery template and then click save below. To setup a shopping cart you should load the Default Template code and then load a Store Template." +msgstr "Usted puede cambiar el código html prestados por CataBlog aquí, esto le permite hacer cambios fundamentales en la forma catálogos aparecerán en sus mensajes. Usted puede elegir una plantilla a partir del menú desplegable en la parte superior y, a continuación, haga clic en Cargar plantilla para cargarlo en el código de la plantilla. Si desea configurar una galería de fotos le recomiendo que se carga la galería de plantillas y haga clic en guardar a continuación. Para configurar un carro de la compra usted debe cargar el código de plantilla por defecto y cargar una plantilla de la tienda." + +#: ../templates/admin-options.php:230 +msgid "Don't forget to click Save Changes at the bottom of the page to finalize your changes and use the new code for your blog." +msgstr "No olvides hacer clic en Guardar cambios en la parte inferior de la página para completar los cambios y utilizar el nuevo código para tu blog." + +#: ../templates/admin-options.php:239 +msgid "PayPal Account Email Address:" +msgstr "Cuenta PayPal E-mail:" + +#: ../templates/admin-options.php:244 +#, php-format +msgid "Enter in an email address here that has been registered with %sPayPal%s and choose a Buy Now Template below to setup a store. You may then give items a price and product code. When an item has a price above zero a 'Buy Now' button will appear under the description of that CataBlog item." +msgstr "Entrar en una dirección de correo electrónico que haya sido registrada con %sPayPal%s y elegir un Cómpralo ya! plantilla a continuación para configurar una tienda. A continuación, puede dar puntos a los precios y el código del producto. Cuando un artículo tiene un precio por encima de cero una \"Compre ahora \" botón aparecerá en la descripción de ese elemento CataBlog." + +#: ../templates/admin-options.php:265 +msgid "You may change the html code rendered for the Buy Now button here. All value tokens are available here too, so place the title, description or any other values you may want to use from the current catalog item in this code as well." +msgstr "Usted puede cambiar el código HTML representado para el botón Comprar ahora aquí. Todas las fichas de valor están disponibles aquí también, así que ponga el título, descripción o cualquier otro valor es posible que desee utilizar en el elemento del catálogo actual en este código." + +#: ../templates/admin-options.php:284 +msgid "You may export your CataBlog data to a XML or CSV file which may be used to backup and protect your work. The XML or CSV file is a simple transfer of the database information itself and the images are not included in this backup. To backup your images follow the directions at the bottom of the page." +msgstr "Puede exportar los datos CataBlog a un archivo XML o CSV que puede ser usado para copia de seguridad y proteger su trabajo. El archivo XML o CSV es una simple transferencia de la información propia base de datos y las imágenes no están incluidos en esta copia de seguridad. Para respaldar sus imágenes, siga las instrucciones en la parte inferior de la página." + +#: ../templates/admin-options.php:290 +msgid "Save XML BackUp File" +msgstr "Guardar archivo XML BackUp" + +#: ../templates/admin-options.php:294 +msgid "Save CSV BackUp File" +msgstr "Guardar archivo CSV BackUp" + +#: ../templates/admin-options.php:301 +#, php-format +msgid "You must have the function %sfputcsv()%s available on your web server's version of PHP for CSV export to work." +msgstr "Debe tener el %sfputcsv()%s función disponible en la versión de su servidor web de PHP para la exportación a CSV trabajo." + +#: ../templates/admin-options.php:303 +msgid "Please contact your server administrator for more information regarding this error." +msgstr "Póngase en contacto con el administrador del servidor para obtener más información sobre este error." + +#: ../templates/admin-options.php:310 +msgid "Backing Up Images:" +msgstr "Copia de seguridad de las imágenes:" + +#: ../templates/admin-options.php:311 +msgid "Please copy the catablog directory to a secure location." +msgstr "Por favor, copie el directorio catablog a un lugar seguro." + +#: ../templates/admin-options.php:312 +msgid "The directory for this WordPress blog can be located on your web server at:" +msgstr "El directorio de este blog de ​​WordPress se puede encontrar en su servidor web en:" + +#: ../templates/admin-options.php:323 +msgid "Import XML/CSV Data" +msgstr "Importar XML / CSV datos" + +#: ../templates/admin-options.php:331 +msgid "Replace All Data:" +msgstr "Reemplace todos los datos:" + +#: ../templates/admin-options.php:334 +msgid "Import CataBlog Data" +msgstr "Importar Datos CataBlog" + +#: ../templates/admin-options.php:338 +msgid "You must have the Simple XML Library installed on your web server's version of PHP for XML imports to work. Please contact your server administrator for more information regarding this error." +msgstr "Usted debe tener la simple colección de XML instalado en la versión de su servidor web de PHP para la importación XML para trabajar. Póngase en contacto con el administrador del servidor para obtener más información sobre este error." + +#: ../templates/admin-options.php:343 +msgid "To import data into your catalog you simply select a XML or CVS file on your hard drive and click the Import CataBlog Data button. You may choose to completely erase all your data before importing by checking the Replace All Data checkbox.
    Keep in mind, this does not import or delete images." +msgstr "Para importar datos en el catálogo que sólo tiene que seleccionar un archivo XML o CVS en su disco duro y haga clic en el botón Importar CataBlog datos. Usted puede optar por eliminar por completo todos sus datos antes de importar, marcando la casilla de verificación Reemplace todos los datos.
    Tenga en cuenta que esto no importar o borrar imágenes." + +#: ../templates/admin-options.php:346 +#, php-format +msgid "To import images you should upload them to the originals directory, located at: %s. Once you load the XML or CVS file and the images into the originals directory everything should be set after you %sRegenerate All Images%s in the systems tab." +msgstr "Para importar imágenes que debería cargar en el directorio de los originales, que se encuentra en: %s. Una vez que se carga el archivo XML o CVS y las imágenes en el directorio de todo lo original que se fijará después de que %sRegenerar todas las imágenes%s en la ficha sistemas." + +#: ../templates/admin-options.php:350 +#, php-format +msgid "You may view XML and CSV examples in the %simport/export documentation%s." +msgstr "Usted puede ver ejemplos de XML y CSV en la %sdocumentación de importación / exportación%s." + +#: ../templates/admin-options.php:364 +msgid "CataBlog Upload Folders are Unlocked" +msgstr "CataBlog Subir carpetas se Desbloqueado" + +#: ../templates/admin-options.php:366 +msgid "CataBlog Upload Folders are Locked" +msgstr "CataBlog Subir carpetas son Bloqueados" + +#: ../templates/admin-options.php:374 +msgid "Lock Folders" +msgstr "Bloqueo de carpetas" + +#: ../templates/admin-options.php:376 +msgid "Unlock Folders" +msgstr "Desbloquear carpetas" + +#: ../templates/admin-options.php:380 +#, php-format +msgid "You may lock and unlock your catablog folders with these controls. The idea is to unlock the folders, use your FTP client to upload your original files and then lock the folders to protect them from hackers. After unlocking your directories please upload the original files directly into the %s folder without replacing it. Do not replace any of the CataBlog created folders. You should then regenerate all your thumbnail and lightbox pictures below. These controls may not work on a Windows server, it depends on your servers PHP settings and if the chmod command is supported." +msgstr "Usted puede bloquear y desbloquear el CataBlog carpetas con estos controles. La idea es abrir las carpetas, use su cliente FTP para subir tus archivos originales y bloquee las carpetas para protegerlos de los piratas informáticos. Después de abrir sus directorios por favor, subir los archivos originales directamente en el %s carpeta sin que lo sustituya. No cambie ninguno de los CataBlog creado carpetas. A continuación, debe regenerar todas sus imágenes en miniatura y mesa de luz de abajo. Estos controles pueden no funcionar en un servidor Windows, depende de los servidores de configuración de PHP y si el comando chmod es compatible." + +#: ../templates/admin-options.php:385 +msgid "Rescan Original Image Folder" +msgstr "Rescan la carpeta de la imagen original" + +#: ../templates/admin-options.php:387 +msgid "Rescan Original Images Folder Now" +msgstr "Rescan Ahora" + +#: ../templates/admin-options.php:389 +msgid "Click the Rescan Now button to rescan the original catablog images folder and automatically import any new jpeg, gif or png images. It works simply by making a list of all the image names in the database and then compares each file's name in the originals folder against the list of image names in the database. Any newly discovered images will automatically be made into a new catalog item. You should Regenerate Images after running this command." +msgstr "Haga clic en la Rescan Ahora para volver a examinar los catablog carpeta original de las imágenes y automáticamente importar cualquier nueva jpeg, gif o png imágenes. Funciona simplemente haciendo una lista de todos los nombres de las imágenes en la base de datos y compara el nombre de cada archivo en la carpeta original con la lista de nombres de imágenes en la base de datos. Las imágenes recién descubiertos automáticamente se convertirá en un elemento nuevo catálogo. Usted debe regenerar las imágenes después de ejecutar este comando." + +#: ../templates/admin-options.php:394 +msgid "Regenerate Images" +msgstr "Regenerar las imágenes" + +#: ../templates/admin-options.php:396 +msgid "Regenerate All Images Now" +msgstr "Regenerar Ahora" + +#: ../templates/admin-options.php:398 +msgid "Click the Regenerate Now button to recreate all the thumbnail and lightbox images that CataBlog has generated over the time you have used it. This is also useful when restoring exported data from another version of CataBlog. after you have uploaded your original images you must regenerate your images so they display properly." +msgstr "Haga clic en la Regenerar Ahora para volver a crear todas las imágenes en miniatura y la mesa de luz que CataBlog ha generado durante el tiempo que lo utilice. Esto también es útil al restaurar los datos exportados desde otra versión de CataBlog. después de haber subido las imágenes originales que debe volver a generar las imágenes para que muestre correctamente." + +#: ../templates/admin-options.php:403 +msgid "Remove CataBlog" +msgstr "Retire CataBlog" + +#: ../templates/admin-options.php:405 +msgid "Remove All CataBlog Data" +msgstr "Eliminar todos los datos CataBlog" + +#: ../templates/admin-options.php:407 +msgid "Delete your entire catalog, deleting all photos and custom data permanently. Sometimes you can use this to fix an improper installation." +msgstr "Eliminar todo el catálogo, eliminar todas las fotos y datos personalizados de forma permanente. A veces se puede usar esto para arreglar una instalación incorrecta." + +#: ../templates/admin-options.php:416 +#, php-format +msgid "or %sundo current changes%s" +msgstr "o %sdeshacer los cambios actuales%s" + +#: ../templates/admin-options.php:682 +#: ../templates/admin-regenerate.php:43 +#: ../templates/admin-rescan.php:49 +msgid "Please allow the rendering to complete before leaving this page. Click cancel to go back and let the rendering complete." +msgstr "Por favor, permitan la prestación de completar antes de salir de esta página. Haga clic en cancelar para volver atrás y dejar que la prestación completa." + +#: ../templates/admin-options.php:687 +msgid "Image rendering is not complete, you should let image rendering complete before leaving this page." +msgstr "De representación en imágenes no es completo, usted debe dejar la imagen de representación completa antes de salir de esta página." + +#: ../templates/admin-regenerate.php:4 +msgid "CataBlog Images Rendering" +msgstr "CataBlog imágenes de representación" + +#: ../templates/admin-regenerate.php:8 +#: ../templates/admin-rescan.php:18 +msgid "You must have a JavaScript enabled browser to regenerate your images." +msgstr "Usted debe tener un explorador Javascript activado para poder regenerar las imágenes." + +#: ../templates/admin-regenerate.php:15 +msgid "Your CataBlog library is empty, there are no images to render." +msgstr "Su biblioteca CataBlog está vacío, no hay imágenes para hacer." + +#: ../templates/admin-regenerate.php:28 +#: ../templates/admin-rescan.php:30 +msgid "Waiting For Thumbnail Rendering To Finish..." +msgstr "Esperando Miniatura de que termine el renderizado..." + +#: ../templates/admin-regenerate.php:33 +msgid "Rendering all images from their original files, this may take awhile so please be patient." +msgstr "Representación de todas las imágenes de sus archivos originales, esto puede tomar un tiempo así que por favor sea paciente." + +#: ../templates/admin-regenerate.php:41 +msgid "Image rendering is now complete, you may now go to any other admin panel you may want." +msgstr "De representación en imágenes se ha completado, ahora puede ir a cualquier otro panel de administración es posible que desee." + +#: ../templates/admin-remove.php:4 +msgid "CataBlog Remove" +msgstr "CataBlog Quitar" + +#: ../templates/admin-remove.php:8 +msgid "You must have a JavaScript enabled browser to remove your catalog installation, sorry..." +msgstr "Usted debe tener un explorador tener Javascript activado para eliminar la instalación de catálogo, lo siento ..." + +#: ../templates/admin-remove.php:16 +msgid "Removing CataBlog..." +msgstr "Eliminación CataBlog ..." + +#: ../templates/admin-rescan.php:4 +msgid "CataBlog Rescan Original Images Results" +msgstr "CataBlog Rescan resultados originales de las imágenes" + +#: ../templates/admin-rescan.php:10 +msgid "No new images where found in your originals folders." +msgstr "No hay imágenes nuevas que se encuentran en sus carpetas originales." + +#: ../templates/admin-rescan.php:11 +msgid "Please make sure that you have successfully uploaded new images via FTP before running this command." +msgstr "Por favor, asegúrese de que ya ha subido nuevas imágenes a través de FTP antes de ejecutar este comando." + +#: ../templates/admin-rescan.php:12 +msgid "New images should be uploaded into the following folder:" +msgstr "Nuevas imágenes deben ser cargados en la carpeta siguiente:" + +#: ../templates/admin-rescan.php:36 +#, php-format +msgid "New Image Found, creating catalog item %s" +msgstr "Nueva imagen que se encuentra, la creación de tema catálogo %s" + +#: ../templates/admin-screen-options-library.php:37 +#: ../templates/admin-screen-options-library.php:46 +msgid "Show on screen" +msgstr "Mostrar en pantalla" + +#: ../templates/admin-screen-options-library.php:49 +msgid "Catalog items" +msgstr "artículos del catálogo" + +#~ msgid "Trash" +#~ msgstr "Basura" + +#~ msgid "Could not move the uploaded file on your server" +#~ msgstr "No se pudo mover el archivo subido en el servidor" + +#~ msgid "This feature only works when viewing a single category." +#~ msgstr "Esta característica sólo funciona cuando se ve una sola categoría." + +#~ msgid "" +#~ "You have not saved your order. If you leave now you will loose your " +#~ "changes. Are you sure you want to continue leaving this page?" +#~ msgstr "" +#~ "Usted no ha guardado su solicitud. Si te vas ahora vas a perder los " +#~ "cambios. ¿Está seguro que desea continuar dejando esta página?" + +#~ msgid "Drag the items below to rearrange their order." +#~ msgstr "Arrastre los elementos siguientes para cambiar su orden." + +#~ msgid "Saving new catalog order..." +#~ msgstr "Ahorro para el nuevo catálogo ..." + +#~ msgid "Your catalog items have been rearranged successfully." +#~ msgstr "Sus artículos del catálogo se han reorganizado con éxito." + +#~ msgid "" +#~ "CataBlog must be setup for this site before you may use it! %s Setup " +#~ "CataBlog Now %s" +#~ msgstr "" +#~ "CataBlog debe ser configurado para este sitio antes de poder usarlo! %s " +#~ "CataBlog instalación Ahora %s" + +#~ msgid "" +#~ "System has been cleared of all CataBlog data and the default options " +#~ "reset." +#~ msgstr "" +#~ "Sistema ha sido absuelto de todos los datos CataBlog y las opciones de " +#~ "restablecimiento de valores predeterminados." + +#~ msgid "End CataBlog LightBox Inline Stylesheet" +#~ msgstr " Fin CataBlog LightBox Inline Stylesheet" + +#~ msgid "" +#~ "CataBlog requires that the MultiByte String " +#~ "Library be installed on your web server's version of PHP. Please " +#~ "contact your hosting company or IT department for more information. " +#~ "Thanks." +#~ msgstr "" +#~ "CataBlog requiere que la MultiByte String " +#~ "Library puede instalar en la versión de su servidor web de PHP. " +#~ "Póngase en contacto con su empresa de alojamiento o departamento de TI " +#~ "para obtener más información. Gracias." + +#~ msgid "Rescan Console" +#~ msgstr "Consola de Rescan" + +#~ msgid "Manage CataBlog" +#~ msgstr "Administrar CataBlog" + +#~ msgid "http://catablog.illproductions.com" +#~ msgstr "http://catablog.illproductions.com" + +#~ msgid "" +#~ "CataBlog is a comprehensive and effortless tool that helps you create, " +#~ "organize and share catalogs, stores, galleries and portfolios on your " +#~ "blog." +#~ msgstr "" +#~ "CataBlog es una herramienta completa y fácil que le ayuda a crear, " +#~ "organizar y compartir catálogos, tiendas, galerías y portafolios en su " +#~ "blog." + +#~ msgid "Zachary Segal" +#~ msgstr "Zachary Segal" + +#~ msgid "http://catablog.illproductions.com/about/" +#~ msgstr "http://catablog.illproductions.com/about/" + +#~ msgid "Original image file could not be located at %s" +#~ msgstr "Archivo de imagen original no se encuentra en %s" + +#~ msgid "Original image dimensions are less then 1px." +#~ msgstr "Imagen original dimensiones son inferiores a 1 píxel." + +#~ msgid "" +#~ "Please only use these characters in your category name: letters, numbers, " +#~ "space, dash and underscore." +#~ msgstr "" +#~ "Por favor, sólo utilice estos caracteres en el nombre de la categoría: " +#~ "letras, números, guión espacio y guión bajo." diff --git a/src/wp-content/plugins/catablog/localization/catablog-sv_SE.mo b/src/wp-content/plugins/catablog/localization/catablog-sv_SE.mo new file mode 100644 index 0000000..7584daa Binary files /dev/null and b/src/wp-content/plugins/catablog/localization/catablog-sv_SE.mo differ diff --git a/src/wp-content/plugins/catablog/localization/catablog-sv_SE.po b/src/wp-content/plugins/catablog/localization/catablog-sv_SE.po new file mode 100644 index 0000000..730e584 --- /dev/null +++ b/src/wp-content/plugins/catablog/localization/catablog-sv_SE.po @@ -0,0 +1,1673 @@ +# Copyright (C) 2010 CataBlog +# This file is distributed under the same license as the CataBlog package. +msgid "" +msgstr "" +"Project-Id-Version: CataBlog 1.2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-06-03 15:20-0800\n" +"PO-Revision-Date: 2011-06-03 15:21-0800\n" +"Last-Translator: Zachary Segal \n" +"Language-Team: illProductions \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: English\n" +"X-Poedit-Country: UNITED STATES\n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: ./..\n" + +#: ../catablog.php:94 +msgid "CataBlog requires PHP 5 or better running on your web server. You're version of PHP is to old, please contact your hosting company or IT department for an upgrade. Thanks." +msgstr "CataBlog kräver PHP 5 eller högre på din webbserver. Din PHP version är för gammal, var god kontakta ditt webbhotell eller IT-avdelning för att uppgradera. Tack." + +#: ../catablog.php:99 +msgid "CataBlog requires that the GD Library be installed on your web server's version of PHP. Please contact your hosting company or IT department for more information. Thanks." +msgstr "CataBlog kräver att GD Library är installerat på webbservern med PHP. Kontakta ditt webbhotell eller IT avdelning för mer information. Tack." + +#: ../catablog.php:104 +msgid "CataBlog requires WordPress 3.1 or above. Please upgrade WordPress or contact your system administrator about upgrading." +msgstr "CataBlog kräver att Wordpress 3.1 eller högre. Kontakta ditt webbhotell eller IT avdelning för uppdatering. Tack." + +#: ../catablog.php:110 +msgid "CataBlog could not detect your upload directory or it is not writable by PHP. Please make sure Apache and PHP have write permission for the configured uploads folder. Contact your hosting company or IT department for more information. Thanks." +msgstr "CataBlog kunde inte detektera uppladnings katalogen eller så är den inte skrivbar av PHP. Säkerställ att Apache och PHP har skrivrättigheter för uppladdningsmappen. Kontakta ditt webbhotell eller IT avdelning för mer information. Tack." + +#: ../lib/CataBlog.class.php:189 +msgid "Uncategorized" +msgstr "Okatigoriserad" + +#: ../lib/CataBlog.class.php:199 +msgid "CataBlog Item" +msgstr "CataBlog Artikel" + +#: ../lib/CataBlog.class.php:204 +msgid "A Catalog Item, generated by CataBlog." +msgstr "En CataBlog artikel, skapad av CataBlog" + +#: ../lib/CataBlog.class.php:215 +msgid "CataBlog Category" +msgstr "CataBlog Kategori" + +#: ../lib/CataBlog.class.php:298 +#: ../templates/admin-404.php:11 +#: ../templates/admin-library.php:9 +msgid "CataBlog Library" +msgstr "CataBlog Bibliotek" + +#: ../lib/CataBlog.class.php:298 +#: ../lib/CataBlog.class.php:362 +msgid "Library" +msgstr "Bibliotek" + +#: ../lib/CataBlog.class.php:299 +#: ../templates/admin-new.php:4 +msgid "Add New CataBlog Entry" +msgstr "Skapa nytt CataBlog inlägg" + +#: ../lib/CataBlog.class.php:299 +#: ../lib/CataBlog.class.php:363 +#: ../templates/admin-library.php:10 +msgid "Add New" +msgstr "Skapa ny" + +#: ../lib/CataBlog.class.php:300 +msgid "CataBlog Options" +msgstr "CataBlog alternativ" + +#: ../lib/CataBlog.class.php:300 +#: ../lib/CataBlog.class.php:364 +msgid "Options" +msgstr "Alternativ" + +#: ../lib/CataBlog.class.php:301 +#: ../templates/admin-about.php:4 +msgid "About CataBlog" +msgstr "Om CataBlog" + +#: ../lib/CataBlog.class.php:301 +#: ../lib/CataBlog.class.php:365 +msgid "About" +msgstr "Om" + +#: ../lib/CataBlog.class.php:353 +#: ../templates/admin-edit.php:4 +msgid "Edit CataBlog Entry" +msgstr "Ändra CataBlog inlägg" + +#: ../lib/CataBlog.class.php:361 +#: ../templates/admin-discfull.php:22 +msgid "CataBlog" +msgstr "CataBlog" + +#: ../lib/CataBlog.class.php:368 +msgid "CataBlog Entry" +msgstr "CataBlog inlägg" + +#: ../lib/CataBlog.class.php:534 +#: ../lib/CataBlog.class.php:567 +msgid "Changes Saved Successfully." +msgstr "Ändringar sparades." + +#: ../lib/CataBlog.class.php:537 +msgid "Catalog Item Deleted Successfully." +msgstr "Katalog artikel togs bort." + +#: ../lib/CataBlog.class.php:540 +msgid "Could Not Delete Item Because ID was non existent." +msgstr "Kunde inte ta bort artikel för att ID:et inte finns." + +#: ../lib/CataBlog.class.php:543 +msgid "Could not verify bulk edit action nonce, please refresh page and try again." +msgstr "Kunde inte verifiera gruppredigering för tillfället, var god och uppdatera sidan och försök igen." + +#: ../lib/CataBlog.class.php:546 +msgid "Bulk categories edit performed successfully." +msgstr "Grupp ändring av kategorier lyckades." + +#: ../lib/CataBlog.class.php:549 +msgid "Bulk delete performed successfully." +msgstr "Lyckades göra en gruppborttagning." + +#: ../lib/CataBlog.class.php:552 +msgid "Reset all data successfully." +msgstr "Återställt all data." + +#: ../lib/CataBlog.class.php:571 +msgid "View Now" +msgstr "Se nu" + +#: ../lib/CataBlog.class.php:632 +msgid "CataBlog Options Saved" +msgstr "CataBlog alternativ sparade" + +#: ../lib/CataBlog.class.php:677 +msgid "Please Let The Rendering Below Complete Before Navigating Away From This Page" +msgstr "Var god låt renderingen nedan avslutas innan du navigerar dig ifrån sidan" + +#: ../lib/CataBlog.class.php:699 +msgid "Form Validation Error. Please reload the page and try again." +msgstr "Validering a formuläret misslyckades. Ladda om sidan och prova igen." + +#: ../lib/CataBlog.class.php:725 +#: ../lib/CataBlog.class.php:726 +#: ../lib/CataBlog.class.php:727 +msgid "not present" +msgstr "inte närvarande" + +#: ../lib/CataBlog.class.php:815 +msgid "The file you selected was to large or you didn't select anything at all, please try again." +msgstr "Filen som du valde var antingen för stor eller så valde du inget, var god prova igen." + +#: ../lib/CataBlog.class.php:819 +#: ../lib/CataBlog.class.php:871 +#: ../lib/CataBlog.class.php:923 +#: ../lib/CataBlog.class.php:961 +#: ../lib/CataBlog.class.php:1094 +msgid "WordPress Nonce Error, please reload the form and try again." +msgstr "Tillfälligt WordPress problem, var god ladda om sidan och prova igen." + +#: ../lib/CataBlog.class.php:875 +msgid "full form was not submitted, please try again." +msgstr "hela formuläret skickades inte, var god prova igen." + +#: ../lib/CataBlog.class.php:919 +#: ../lib/CataBlog.class.php:957 +msgid "You didn't select anything to upload, please try again." +msgstr "Du valde inget att ladda upp, var god prova igen." + +#: ../lib/CataBlog.class.php:927 +#: ../lib/CataBlog.class.php:965 +msgid "No item ID posted, press back arrow and try again." +msgstr "Inget artikel ID sänt, klicka på tillbaka pilen och prova igen." + +#: ../lib/CataBlog.class.php:1008 +msgid "Please make your selection by checking the boxes in the list below." +msgstr "Var god gör dit val genom att markera i listan nedan." + +#: ../lib/CataBlog.class.php:1054 +#, php-format +msgid "Error during set category, could not load item with id %s." +msgstr "Problem under skapandet av kategorin, kunde inte ladda artiklar med id %s." + +#: ../lib/CataBlog.class.php:1072 +#, php-format +msgid "Error during bulk delete, could not load item with id %s." +msgstr "Fel under gruppbortagningen, kunde inte ladda artikel med ID %s." + +#: ../lib/CataBlog.class.php:1103 +msgid "No file was selected for upload, please try again." +msgstr "Ingen fil vald för att laddas upp, var god försök igen." + +#: ../lib/CataBlog.class.php:1112 +msgid "Uploaded XML File Could Not Be Parsed, Check That The File's Content Is Valid XML." +msgstr "Uppladdad XML fil kunde inte analyseras, kolla upp så att filens innehåll är korrekt XML." + +#: ../lib/CataBlog.class.php:1118 +msgid "Uploaded CSV File Could Not Be Parsed, Check That The File's Format Is Valid." +msgstr "Uppladdad CSV fil kunde inte analyseras, kolla så att filformatet är korrekt." + +#: ../lib/CataBlog.class.php:1122 +msgid "Uploaded file was not of proper format, please make sure the filename has an xml or csv extension." +msgstr "Uppladdad fil var inte i korrekt format, var god kolla upp så att filen har xml eller csv som filändelse." + +#: ../lib/CataBlog.class.php:1189 +msgid "The CataBlog upload directories have been unlocked." +msgstr "CataBlogs uppladdningskataloger är olåsta." + +#: ../lib/CataBlog.class.php:1192 +#: ../lib/CataBlog.class.php:1205 +msgid "Could not lock/unlock the directory. Are you using a unix based server?" +msgstr "Kunde inte låsa/låsa upp katalogen. Använder du en UNIX baserad server?" + +#: ../lib/CataBlog.class.php:1202 +msgid "The CataBlog upload directories have been locked." +msgstr "CataBlog uppladdningskataloger är låsta." + +#: ../lib/CataBlog.class.php:1319 +msgid "micro save successful" +msgstr "" + +#: ../lib/CataBlog.class.php:1347 +msgid "Screen Options updated successfully." +msgstr "Skärmalternativ uppdaterades." + +#: ../lib/CataBlog.class.php:1376 +msgid "Commas, Pipes and reserved HTML characters are not allowed in category names." +msgstr "Komma, lodrätt streck och reserverade HTML tecken är inte tillåtet i kategorinamn." + +#: ../lib/CataBlog.class.php:1382 +msgid "Please be a little more specific with your category name." +msgstr "Var lite mer specifik med namnen på dina kategorier." + +#: ../lib/CataBlog.class.php:1394 +msgid "There already is a category with that name." +msgstr "Det finns redan en kategori med det namnet." + +#: ../lib/CataBlog.class.php:1423 +msgid "Term Removed Successfully." +msgstr "Termen borttagen." + +#: ../lib/CataBlog.class.php:1426 +msgid "Term did not exist, please refresh page and try again." +msgstr "Termen fanns inte, var god uppdatera sidan och prova igen." + +#: ../lib/CataBlog.class.php:1468 +msgid "unsupported image size type" +msgstr "bildtypen stöds inte" + +#: ../lib/CataBlog.class.php:1477 +#, php-format +msgid "Rendering... %s of %s" +msgstr "Renderar... %s av %s" + +#: ../lib/CataBlog.class.php:1479 +msgid "Image rendering is now complete." +msgstr "Bildrendering är klar." + +#: ../lib/CataBlog.class.php:1520 +msgid "error" +msgstr "fel" + +#: ../lib/CataBlog.class.php:1523 +msgid "sub image deleted successfully" +msgstr "ersättningsbilden togs bort" + +#: ../lib/CataBlog.class.php:1542 +#, php-format +msgid "%s library items deleted successfully." +msgstr "%s biblioteks artiklar togs bort." + +#: ../lib/CataBlog.class.php:1545 +msgid "CataBlog Library Cleared Successfully." +msgstr "CataBlogs bibliotek rensades." + +#: ../lib/CataBlog.class.php:1558 +msgid "CataBlog Options, Directories and Terms Deleted Successfully." +msgstr "CataBlogs inställningar, kataloger och villkor har tagits bort." + +#: ../lib/CataBlog.class.php:1559 +msgid "You may now go deactivate CataBlog and nothing will be left behind." +msgstr "Du kan nu avaktivera CataBlog och inget kommer att var kvar." + +#: ../lib/CataBlog.class.php:1560 +msgid "If you want to continue using CataBlog, go to the library to re-install necessary settings." +msgstr "Om du vill fortsätta och använda CataBlog måste du gå till biblioteket och ominstallera inställningarna." + +#: ../lib/CataBlog.class.php:1695 +#, php-format +msgid "CataBlog %s LightBox Styles | %s" +msgstr "CataBlog %s LightBox stilar | %sl" + +#: ../lib/CataBlog.class.php:1715 +msgid "You may also press "P" or the left arrow on your keyboard" +msgstr "Du kan också klicka på "P" eller på vänster pilknapp på tangentbordet" + +#: ../lib/CataBlog.class.php:1716 +msgid "You may also press "N" or the right arrow on your keyboard" +msgstr "Du kan också klicka på "N" eller på höger pilknapp på tangentbordet" + +#: ../lib/CataBlog.class.php:1717 +msgid "Close LightBox Now" +msgstr "Stäng LightBox nu" + +#: ../lib/CataBlog.class.php:1718 +msgid "PREV" +msgstr "TDGR" + +#: ../lib/CataBlog.class.php:1719 +msgid "NEXT" +msgstr "NÄSTA" + +#: ../lib/CataBlog.class.php:1720 +msgid "CLOSE" +msgstr "STÄNG" + +#: ../lib/CataBlog.class.php:1724 +#, php-format +msgid "CataBlog %s LightBox JavaScript | %s" +msgstr "CataBlog %s LightBox JavaScript | %s" + +#: ../lib/CataBlog.class.php:1726 +msgid "End CataBlog LightBox JavaScript" +msgstr "Slut CataBlog LightBox JavaScript" + +#: ../lib/CataBlog.class.php:1920 +#, php-format +msgid "CataBlog ShortCode Parameter Error: The template attribute of this ShortCode points to a file that does not exist. Please make sure their is a file with the name '%s.htm' in the views directory." +msgstr "CataBlog kortkods parameter fel: Mall attributet av denna kortkod pekar mot en fil som inte finns. Var god se till att det finns en fil med namnet '%s.htm' i vykatalogen." + +#: ../lib/CataBlog.class.php:1921 +#: ../templates/admin-library.php:20 +msgid "Learn More" +msgstr "Lär dig mer" + +#: ../lib/CataBlog.class.php:2032 +#, php-format +msgid "CataBlog options and directories have been successfully installed. Please, %srefresh now%s" +msgstr "CataBlogs inställningar och kataloger har blivit installerad. Var god %suppdatera nu%s" + +#: ../lib/CataBlog.class.php:2085 +#, php-format +msgid "There was an error creating the default term: %s" +msgstr "Ett fel uppstod när grundtermen skulle skapas: %s" + +#: ../lib/CataBlog.class.php:2123 +msgid "CataBlog options and directories have been successfully upgraded." +msgstr "CataBlogs inställningar och kataloger har uppgraderats." + +#: ../lib/CataBlog.class.php:2357 +#: ../lib/CataBlog.class.php:2397 +#: ../lib/CataBlog.class.php:2400 +#: ../lib/CataBlog.class.php:2403 +msgid "Error:" +msgstr "Fel:" + +#: ../lib/CataBlog.class.php:2371 +msgid "Success:" +msgstr "Lyckat:" + +#: ../lib/CataBlog.class.php:2371 +#, php-format +msgid " %s inserted into catalog categories." +msgstr "%s tillagt i katalog kategorierna." + +#: ../lib/CataBlog.class.php:2379 +msgid "All New Categories Created" +msgstr "Alla nya kategorier skapades" + +#: ../lib/CataBlog.class.php:2383 +msgid "No New Categories Created" +msgstr "Inga nya kategorier skapades" + +#: ../lib/CataBlog.class.php:2396 +msgid "Update:" +msgstr "Uppdatera:" + +#: ../lib/CataBlog.class.php:2396 +#, php-format +msgid " %s updated in database." +msgstr "%s uppdaterat i databasen." + +#: ../lib/CataBlog.class.php:2397 +#, php-format +msgid " %s was not inserted into the database." +msgstr "%s infördes inte i databasen." + +#: ../lib/CataBlog.class.php:2400 +msgid "Item had no title and could not be made." +msgstr "Artikeln hade ingen titel och kunde inte skapas." + +#: ../lib/CataBlog.class.php:2403 +msgid "Item had no primary image name and could not be made." +msgstr "Artikeln hade inget primärt bildnamn och kunde inte skapas." + +#: ../lib/CataBlog.class.php:2440 +msgid "Insert:" +msgstr "Infoga:" + +#: ../lib/CataBlog.class.php:2440 +#, php-format +msgid " %s inserted into the database." +msgstr "%s fördes in i databasen" + +#: ../lib/CataBlog.class.php:2465 +msgid "All Catalog Items Processed" +msgstr "Alla katalog artiklar bearbetades" + +#: ../lib/CataBlog.class.php:2530 +msgid "Uploaded File Exceeded The PHP Configurations Max File Size." +msgstr "Uppladda fil översteg PHP konfigurationens max gräns." + +#: ../lib/CataBlog.class.php:2533 +msgid "Upload File Exceeded The HTML Form's Max File Size." +msgstr "Uppladda fil översteg HTML formulärets max gräns." + +#: ../lib/CataBlog.class.php:2536 +msgid "File Only Partially Uploaded, Please Try Again." +msgstr "Filen laddades endast upp delvis, var god försök igen." + +#: ../lib/CataBlog.class.php:2539 +msgid "No File Selected For Upload. Please Resubmit The Form." +msgstr "Ingen fil valdes för uppladdning. Var god skicka formuläret igen." + +#: ../lib/CataBlog.class.php:2542 +msgid "Your Server's PHP Configuration Does Not Have A Temporary Folder For Uploads, Please Contact The System Admin." +msgstr "Din servers PHP konfiguration har ingen temporär mapp för uppladdning, var god kontakta system administratören." + +#: ../lib/CataBlog.class.php:2545 +msgid "Your Server's PHP Configuration Can Not Write To Disc, Please Contact The System Admin." +msgstr "Din servers PHP konfiguration kan inte skriva till disk, var god kontakta system administratören." + +#: ../lib/CataBlog.class.php:2548 +msgid "A PHP Extension Is Blocking PHP From Excepting Uploads, Please Contact The System Admin." +msgstr "En PHP förlängning blockerar PHP från att tillåta uppladdningar, var god kontakta system administratören." + +#: ../lib/CataBlog.class.php:2551 +msgid "An Unknown Upload Error Has Occurred" +msgstr "Ett okänt uppladdningsproblem har uppstått" + +#: ../lib/catablog.upload.php:57 +msgid "Login failure. You must be logged into the WordPress Admin section." +msgstr "" + +#: ../lib/catablog.upload.php:61 +msgid "Your Admin account does not have permission to \"edit_posts\"." +msgstr "" + +#: ../lib/catablog.upload.php:71 +#, fuzzy +msgid "Image could not be uploaded to the server, please try again." +msgstr "Kunde inte ställa in kategorierna, var god prova igen." + +#: ../lib/catablog.upload.php:103 +#: ../templates/admin-edit.php:78 +msgid "Save Changes" +msgstr "Spara ändringar" + +#: ../lib/CataBlogDirectory.class.php:12 +#: ../lib/CataBlogDirectory.class.php:109 +msgid "Could not open directory." +msgstr "Kunde inte öppna katalogen." + +#: ../lib/CataBlogItem.class.php:285 +msgid "An item must have an image associated with it." +msgstr "En artikel måste ha en bild associerad till sig." + +#: ../lib/CataBlogItem.class.php:291 +msgid "Can't write uploaded image to server, please make sure the catablog directory in you WordPress uploads folder is writable." +msgstr "Kan inte ladda upp bilden till servern, säkerställ att CataBlog katalogen i Wordpress foldern är skrivbar." + +#: ../lib/CataBlogItem.class.php:296 +msgid "An item must have a title of at least one alphanumeric character." +msgstr "En artikel måste ha en titel med minst ett alfanumeriskt tecken." + +#: ../lib/CataBlogItem.class.php:301 +msgid "An item's title can not be more then 200 characters long." +msgstr "En artikels titel kan inte vara mer än 200 tecken långt." + +#: ../lib/CataBlogItem.class.php:306 +msgid "An item's date must exactly match the MySQL date format, YYYY-MM-DD HH:MM:SS" +msgstr "En artikels datum måste matcha MySQL datumformatet exakt, ÅÅÅÅ-MM-DD TT:MM:SS" + +#: ../lib/CataBlogItem.class.php:314 +msgid "An item's date must be an actual day on the gregorian calendar." +msgstr "En artikels datum måste vara en verklige dag enligt den gregorianska kalendern." + +#: ../lib/CataBlogItem.class.php:319 +msgid "An item's date hour must be below twenty-four." +msgstr "En artikels timme måste vara under 24-timmar." + +#: ../lib/CataBlogItem.class.php:324 +msgid "An item's order value must be a positive integer." +msgstr "En artikels ordningsvärde måste vara ett positivt tal. " + +#: ../lib/CataBlogItem.class.php:331 +msgid "An item's price must be a positive number." +msgstr "En artikels pris måste vara ett positivt nummer." + +#: ../lib/CataBlogItem.class.php:354 +#: ../lib/CataBlogItem.class.php:541 +msgid "The image could not be used because it is an unsupported format. JPEG, GIF and PNG formats only, please." +msgstr "Bilden kunde inte användas eftersom det är ett format som inte stöds. Endast JPEG, GIF eller PNG format." + +#: ../lib/CataBlogItem.class.php:367 +#: ../lib/CataBlogItem.class.php:528 +msgid "Can not write uploaded image to server, your storage space is exhausted." +msgstr "Kan inte skriva uppladdad bild till servern, finns ingen plats." + +#: ../lib/CataBlogItem.class.php:368 +#: ../lib/CataBlogItem.class.php:529 +msgid "Please delete some media files to free up space and try again." +msgstr "Var god och ta bort några filer för att skapa mer plats och prova igen." + +#: ../lib/CataBlogItem.class.php:369 +#: ../lib/CataBlogItem.class.php:530 +#, php-format +msgid "You have %sMB of available space on your server and your image is %sMB." +msgstr "Du har %sMB med tillgänglig plats på servern och din bild är %sMB." + +#: ../lib/CataBlogItem.class.php:458 +msgid "Could not set categories, please try again." +msgstr "Kunde inte ställa in kategorierna, var god prova igen." + +#: ../lib/CataBlogItem.class.php:585 +#: ../lib/CataBlogItem.class.php:646 +#, php-format +msgid "Original image file missing, could not be located at %s" +msgstr "Orginalbilden fattas, kunde inte hittas på %s" + +#: ../lib/CataBlogItem.class.php:592 +#: ../lib/CataBlogItem.class.php:653 +msgid "Original image dimensions are less then 1px. Most likely PHP does not have permission to read the original file." +msgstr "Orginalbildens dimensioner är mindre än 1px. Troligtvis har inte PHP rätt att läsa orginal filen." + +#: ../lib/CataBlogItem.class.php:621 +#: ../lib/CataBlogItem.class.php:675 +msgid "Original image could not be loaded because it is an unsupported format." +msgstr "Orginalbilden kunde inte laddas för att filformatet inte stöds." + +#: ../templates/admin-404.php:4 +msgid "CataBlog Item Not Found" +msgstr "CataBlog artikel hittades inte" + +#: ../templates/admin-404.php:8 +msgid "You attempted to edit an item that doesn't exist. Perhaps it was deleted?" +msgstr "Du försöker ändra en artikel som inte finns. Den kanske togs bort?" + +#: ../templates/admin-404.php:10 +#: ../templates/admin-discfull.php:19 +msgid "Go To:" +msgstr "Gå till:" + +#: ../templates/admin-404.php:12 +#: ../templates/admin-discfull.php:20 +msgid "Dashboard" +msgstr "Instrumentbräda" + +#: ../templates/admin-about.php:9 +#, php-format +msgid "%sCataBlog%s is written by %sZachary Segal%s in his spare time." +msgstr "%sCataBlog%s är skriven av %sZachary Segal%s på hans fritid. Svensk översättning av JornB." + +#: ../templates/admin-about.php:10 +#, php-format +msgid "It is a cataloging tool for %sWordPress%s that allows you to easily manage a list of items with automatically generated thumbnail images." +msgstr "Det är ett katalogverktyg för %sWordPress%s som tillåter dig att enkelt hantera listor med artiklar som automatiskt genererar tumnagelbilder." + +#: ../templates/admin-about.php:11 +#, php-format +msgid "Use of CataBlog is completely free, even commercial sites for now, all that I ask is that you rate the plugin at the %sWordPress Plugin Repository%s." +msgstr "Användandet av CataBlog är helt fritt, även för kommersiellla sidor just nu. Det enda som jag ber om är att du betygsätter pluginen på %sWordPress Plugin Repository%s." + +#: ../templates/admin-about.php:15 +#, php-format +msgid "%sCSS Modifications:%s You may always override CataBlog's CSS settings to create custom looks. If you make a catablog.css file in your active theme's directory it will be automatically loaded and applied. This makes it easy to prepare your custom theme for CataBlog integration and will also protect your customization for future version to come." +msgstr "%sCSS Modifications:%s Du kan alltid ändra på CataBlogs CSS inställningar för att skapa ett eget utseende. Om du skapar en catablog.css fil i ditt aktiva temas katalog, kommer den automatiskt användas. Detta gör det enkelt att förbereda dina egna teman för CataBlog integration och det skyddar även CSSen för framtida versioner." + +#: ../templates/admin-about.php:20 +msgid "Server Statistics" +msgstr "Server statistik" + +#: ../templates/admin-about.php:38 +msgid "CataBlog Version:" +msgstr "CataBlog version:" + +#: ../templates/admin-about.php:39 +msgid "MySQL Version:" +msgstr "MySQL version:" + +#: ../templates/admin-about.php:40 +msgid "PHP Version:" +msgstr "PHP version:" + +#: ../templates/admin-about.php:41 +msgid "PHP Memory Usage:" +msgstr "PHP minnesanvändning:" + +#: ../templates/admin-about.php:42 +msgid "PHP Memory Limit:" +msgstr "PHP minnesgräns:" + +#: ../templates/admin-about.php:43 +msgid "Max Uploaded File Size:" +msgstr "Maximal filstorlek på uppladdade filer:" + +#: ../templates/admin-about.php:44 +msgid "Max Post size:" +msgstr "Maximal poststorlek:" + +#: ../templates/admin-about.php:45 +msgid "Thumbnail Disc Usage:" +msgstr "Tumnagel användning:" + +#: ../templates/admin-about.php:46 +msgid "Full Size Disc Usage:" +msgstr "Fullstorabilders användning:" + +#: ../templates/admin-about.php:47 +msgid "Original Upload Disc Usage:" +msgstr "Uppladdad orginalbild användning:" + +#: ../templates/admin-about.php:48 +msgid "Total Disc Usage:" +msgstr "Total användning:" + +#: ../templates/admin-contextual-help.php:11 +msgid "You may edit your catalog entry as you see fit in this panel." +msgstr "Du kan ändra din katalogenpost i detta fönster." + +#: ../templates/admin-contextual-help.php:12 +msgid "Notice that the description accepts HTML code. This makes it easy to refine your catalog layout inside your description." +msgstr "Kom ihåg att beskrivningen accepterar HTML kod. Detta gör det enkelt att förfina din katalog i beskrivningen." + +#: ../templates/admin-contextual-help.php:17 +msgid "CataBlog is a comprehensive and easy to use cataloging system for WordPress. " +msgstr "CataBlog är en omfattande och ett enkelt system för katalogisering för WordPress." + +#: ../templates/admin-contextual-help.php:19 +msgid "Get started by making your first catalog item, click the Add New button near the page title. " +msgstr "Starta genom att skapa din första katalog artikel, klicka på Skapa ny knappen brevid sidans titel." + +#: ../templates/admin-contextual-help.php:22 +#, php-format +msgid "You may learn more about CataBlog at %scatablog.illproductions.com%s. " +msgstr "Du kan lära dig mer om CataBlog på %scatablog.illproductions.com%s." + +#: ../templates/admin-contextual-help.php:25 +#, php-format +msgid "A lot of time and effort has gone into creating this plugin, %splease donate%s to Zach and help the continued development of CataBlog." +msgstr "Mycket tid och ansträngning har lagt till att skapa denna plugin, %svar god donera%s till Zach och hjälp den fortsatta utvecklingen av CataBlog." + +#: ../templates/admin-contextual-help.php:34 +msgid "To create a new catalog entry first upload an image by selecting a file and then clicking the upload button. " +msgstr "För att skapa en ny katalog laddar du först upp en bild genom att välja filen och sedan klicka på ladda upp knappen." + +#: ../templates/admin-contextual-help.php:35 +msgid "After the upload is successful a new catalog entry will be generated with the name of the file you uploaded. " +msgstr "Efter en lyckad uppladdning skapas en ny katalog med namnet efter den fil du valde att ladda upp." + +#: ../templates/admin-contextual-help.php:44 +msgid "CataBlog offer many options that let you modify your catalog and its appearance." +msgstr "CataBlog erbjuder många alternativ som låter dig modifiera dina kataloger och utseende." + +#: ../templates/admin-contextual-help.php:52 +msgid "Please make sure to support the plugin author by donating." +msgstr "Se till och stöd författaren av denna plugin genom att donera." + +#: ../templates/admin-contextual-help.php:60 +msgid "Your CataBlog originals upload folder is being scanned for any files that are not currently in the database." +msgstr "Din mapp för uppladdningar skannas efter evt filer som inte finns i databasen." + +#: ../templates/admin-contextual-help.php:68 +msgid "CataBlog is regenerating all the images in the CataBlog thumbnail and LightBox folders." +msgstr "CataBlog återskapar alla bilder i tumnagel och LightBox mapparna." + +#: ../templates/admin-contextual-help.php:76 +msgid "CataBlog is being completely removed, afterwards you may go back to the library view to reinstall the default settings." +msgstr "CataBlog tas bort helt, efteråt kan du gå tillbaka till biblioteksvyn för att återinstallera grundinställningarna." + +#: ../templates/admin-contextual-help.php:77 +msgid "If you wish to completely remove CataBlog, do not go to the library view, instead disable CataBlog after this is complete." +msgstr "Om du vill ta bort CataBlog helt, gå inte in i biblioteksvyn, utan avaktivera CataBlog efter att detta är klart." + +#: ../templates/admin-discfull.php:4 +msgid "Storage Space Full!" +msgstr "Lagringsutrymme fullt!" + +#: ../templates/admin-discfull.php:9 +msgid "CataBlog can't make a new entry because your site has run out of storage space." +msgstr "CataBlog kan inte skapa en nytt inlägg för att du inte har något lagringsutrymme kvar." + +#: ../templates/admin-discfull.php:13 +#, php-format +msgid "You are currently using %sMB of %sMB of storage space." +msgstr "Du använder just nu %sMB av %sMB av lagringsutrymmet." + +#: ../templates/admin-discfull.php:16 +msgid "Please talk to your WordPress Administrator to have more space allocated to your site or delete some previous uploaded content." +msgstr "Var god prata med din WordPress eller serveradministratör om att få mer utrymme tilldelad eller ta bort något av det du laddat upp." + +#: ../templates/admin-discfull.php:21 +msgid "Media" +msgstr "Media" + +#: ../templates/admin-edit.php:13 +msgid "Main" +msgstr "Huvud" + +#: ../templates/admin-edit.php:17 +msgid "Images" +msgstr "Bilder" + +#: ../templates/admin-edit.php:26 +msgid "Replace Main Image" +msgstr "Byt huvudbilden" + +#: ../templates/admin-edit.php:28 +msgid "Add Sub Image" +msgstr "Lägg till en underbild" + +#: ../templates/admin-edit.php:32 +msgid "JavaScript is required to add images." +msgstr "Javascript krävs för att lägga till bilder." + +#: ../templates/admin-edit.php:43 +msgid "Delete this sub image permanently." +msgstr "Ta bort denna underbilden permanent." + +#: ../templates/admin-edit.php:48 +msgid "No Sub Images" +msgstr "Inga underbilder" + +#: ../templates/admin-edit.php:57 +#: ../templates/admin-list.php:11 +#: ../templates/admin-list.php:48 +msgid "Title" +msgstr "Titel" + +#: ../templates/admin-edit.php:66 +#: ../templates/admin-list.php:17 +#: ../templates/admin-list.php:50 +msgid "Description" +msgstr "Beskrivning" + +#: ../templates/admin-edit.php:66 +msgid "accepts html formatting" +msgstr "accepterar html formatering" + +#: ../templates/admin-edit.php:79 +#, php-format +msgid "or %sback to list%s" +msgstr "eller %stillbaka till listan%s" + +#: ../templates/admin-edit.php:93 +msgid "Attributes" +msgstr "Attribut" + +#: ../templates/admin-edit.php:96 +#, php-format +msgid "Date: %s" +msgstr "Datum: %s" + +#: ../templates/admin-edit.php:97 +#: ../templates/admin-edit.php:108 +msgid "edit" +msgstr "ändra" + +#: ../templates/admin-edit.php:102 +msgid "Format: YYYY-MM-DD HH:MM:SS" +msgstr "Format: ÅÅÅÅ-MM-DD TT:MM:SS" + +#: ../templates/admin-edit.php:107 +#, php-format +msgid "Order: %s" +msgstr "Ordning: %s" + +#: ../templates/admin-edit.php:113 +msgid "Enter a integer value to be assigned as this catalog item's order. There is only one order value per catalog item." +msgstr "Skriv in ett tal för att välja bestämma denna artikelkatalogs ordning. Det är endast en ordning per artikelkatalog." + +#: ../templates/admin-edit.php:120 +msgid "Fields" +msgstr "Fält" + +#: ../templates/admin-edit.php:123 +#: ../templates/admin-list.php:18 +#: ../templates/admin-list.php:51 +msgid "Link" +msgstr "Länk" + +#: ../templates/admin-edit.php:124 +#: ../templates/admin-edit.php:133 +#: ../templates/admin-edit.php:143 +msgid "help" +msgstr "hjälp" + +#: ../templates/admin-edit.php:128 +msgid "Enter a relative or absolute web address to make this item a hyperlink. External links should start with http://." +msgstr "Skriv in en relativ eller absolut webbadress för att skapa en hyperlink av artikeln. Externa länkar ska starta med http://." + +#: ../templates/admin-edit.php:132 +msgid "Item Price" +msgstr "Artikelpris" + +#: ../templates/admin-edit.php:137 +msgid "If your catalog item has a price above zero, it will generate a buy now button you may display." +msgstr "Om din katalogartikel har ett pris över noll, kommer en Köp nu knapp visas." + +#: ../templates/admin-edit.php:142 +#: ../templates/admin-list.php:20 +#: ../templates/admin-list.php:53 +msgid "Product Code" +msgstr "Produktkod" + +#: ../templates/admin-edit.php:147 +msgid "This field is intended for usage as a product code for the PayPal buy now buttons." +msgstr "Detta fält är till för produktkoden för köpknappen till PayPal." + +#: ../templates/admin-edit.php:152 +#, php-format +msgid "If you want to make a shopping cart you should make sure you are using a %sStore Template%s that uses these values." +msgstr "Om du vill göra en varukorg så ska du vara säker på att du använder en %sStore Template%s som använder dessa värden." + +#: ../templates/admin-edit.php:158 +#: ../templates/admin-list.php:22 +#: ../templates/admin-list.php:55 +msgid "Categories" +msgstr "Kategorier" + +#: ../templates/admin-edit.php:166 +msgid "You currently have no categories." +msgstr "Du har inga kategorier för tillfället." + +#: ../templates/admin-edit.php:176 +#: ../templates/admin-edit.php:410 +msgid "[DELETE]" +msgstr "[TA BORT]" + +#: ../templates/admin-edit.php:188 +msgid "You must have a JavaScript enabled browser to create new categories." +msgstr "Du måste ha en webbläsare som klarar av JavaScript för att kunna skapa nya kategorier." + +#: ../templates/admin-edit.php:194 +msgid "New" +msgstr "Ny" + +#: ../templates/admin-edit.php:199 +msgid "Put your items into categories to easily display subsets of your catalog on different pages." +msgstr "Lägg dina artiklar i kategorier för att enkelt kunna visa undergrupper av dina kataloger på olika sidor." + +#: ../templates/admin-edit.php:200 +msgid "ex:" +msgstr "ex:" + +#: ../templates/admin-edit.php:218 +#: ../templates/admin-edit.php:242 +#: ../templates/admin-library.php:139 +msgid "[close]" +msgstr "[stäng]" + +#: ../templates/admin-edit.php:219 +msgid "Upload A New Sub Image" +msgstr "Ladda upp en ny underbild" + +#: ../templates/admin-edit.php:222 +#: ../templates/admin-edit.php:246 +msgid "Save Other Changes Before Uploading A New Image." +msgstr "Spara andra ändringar innan du laddar upp en ny bild." + +#: ../templates/admin-edit.php:229 +#: ../templates/admin-edit.php:252 +#: ../templates/admin-new.php:21 +msgid "Upload" +msgstr "Ladda upp" + +#: ../templates/admin-edit.php:231 +msgid "Select an image to add as a sub image, this upload will not replace this item's main image." +msgstr "Välj en bild för att lägga till en underbild, uppladdningen kommer inte ersätta denna artikels huvudbild." + +#: ../templates/admin-edit.php:232 +#: ../templates/admin-edit.php:255 +#: ../templates/admin-new.php:28 +msgid "You may upload JPEG, GIF and PNG graphic formats only." +msgstr "Du kan endast ladda upp JPEG, GIF eller PNG filformat." + +#: ../templates/admin-edit.php:233 +#: ../templates/admin-edit.php:256 +#: ../templates/admin-new.php:29 +msgid "No animated GIFs please." +msgstr "Inga animerade GIF:ar tack." + +#: ../templates/admin-edit.php:243 +msgid "Replace The Main Image" +msgstr "Byt ut huvudbilden" + +#: ../templates/admin-edit.php:254 +msgid "Select an image on your computer to upload and replace this item's main image with." +msgstr "Välj en bild på din dator för att ladda upp och ersätta denna artikels huvudbild med." + +#: ../templates/admin-edit.php:257 +msgid "This will replace the main image, forever deleting the current main image." +msgstr "Detta kommer att ersätta huvudbilden och tar bort nuvarande huvudbild." + +#: ../templates/admin-edit.php:325 +msgid "Are you sure you want to delete this category? You can not undo this." +msgstr "Är du säker på att du vill ta bort denna kategori? Detta kan inte ångras." + +#: ../templates/admin-edit.php:386 +msgid "Please make sure to enter a category name" +msgstr "Var säker på att ange ett kategorinamn" + +#: ../templates/admin-edit.php:452 +msgid "Are you sure you want to permanently delete this image?" +msgstr "Är du säker på att du vill ta bort denna bild permanent?" + +#: ../templates/admin-grid.php:5 +#: ../templates/admin-list.php:66 +msgid "No catalog items found" +msgstr "Inga katalogartiklar hittades" + +#: ../templates/admin-grid.php:8 +#: ../templates/admin-list.php:69 +msgid "Use the category drop down above to switch category views." +msgstr "Använd kategoriväljaren ovan för att ändra kategorivyer." + +#: ../templates/admin-import.php:4 +msgid "CataBlog Import Results" +msgstr "CataBlog import resultat" + +#: ../templates/admin-import.php:8 +msgid "Import Console" +msgstr "Importkonsol" + +#: ../templates/admin-import.php:12 +msgid "You must select a valid XML or CSV file to be used for import." +msgstr "Du måste välja en valid XML eller CSV fil för import." + +#: ../templates/admin-import.php:15 +#, php-format +msgid "You may choose to read more about %simporting and exporting data from CataBlog%s." +msgstr "Du kan välja att läsa mer om %simportera och exportera data från CataBlog%s." + +#: ../templates/admin-import.php:17 +#, php-format +msgid "Once you have fixed your file and its format please %stry again%s." +msgstr "När du har ordnat din fil och dess format var god %sprova igen%s." + +#: ../templates/admin-import.php:23 +msgid "removing catalog items..." +msgstr "tar bort katalog artiklar..." + +#: ../templates/admin-import.php:28 +msgid "Success: All catalog items removed successfully" +msgstr "Lyckades: Alla katalog artiklar togs bort" + +#: ../templates/admin-import.php:30 +msgid "removing catalog categories..." +msgstr "tar bort katalog kategorier..." + +#: ../templates/admin-import.php:32 +msgid "Success: All catalog categories removed successfully" +msgstr "Lyckades: Alla katalog kategorier togs bort" + +#: ../templates/admin-import.php:34 +msgid "DataBase Cleared Successfully" +msgstr "Databasen rensades" + +#: ../templates/admin-library.php:19 +msgid "You must have a JavaScript enabled browser for bulk actions and to change the order of your items." +msgstr "Du måste tillåta JavaScript i webbläsaren för att kunna göra gruppförändringar och ändra ordningen på dina artiklar." + +#: ../templates/admin-library.php:34 +msgid "Bulk Actions" +msgstr "Massåtgärder" + +#: ../templates/admin-library.php:35 +msgid "Edit Categories" +msgstr "Ändra kategorier" + +#: ../templates/admin-library.php:36 +#: ../templates/admin-list.php:91 +msgid "Delete" +msgstr "Ta bort" + +#: ../templates/admin-library.php:39 +msgid "Apply" +msgstr "Tillämpa" + +#: ../templates/admin-library.php:44 +msgid "View" +msgstr "Visa" + +#: ../templates/admin-library.php:47 +msgid "All Categories" +msgstr "Alla kategorier" + +#: ../templates/admin-library.php:66 +#: ../templates/admin-library.php:115 +#, php-format +msgid "%s items" +msgstr "%s poster" + +#: ../templates/admin-library.php:70 +#: ../templates/admin-library.php:117 +msgid "Go to the first page" +msgstr "Gå till första sidan" + +#: ../templates/admin-library.php:71 +#: ../templates/admin-library.php:118 +msgid "Go to the previous page" +msgstr "Gå till föregående sida" + +#: ../templates/admin-library.php:75 +#: ../templates/admin-library.php:122 +msgid "Current page" +msgstr "Nuvarande sida" + +#: ../templates/admin-library.php:76 +#: ../templates/admin-library.php:123 +msgid "of" +msgstr "av" + +#: ../templates/admin-library.php:80 +#: ../templates/admin-library.php:127 +msgid "Go to the next page" +msgstr "Gå till nästa sida" + +#: ../templates/admin-library.php:81 +#: ../templates/admin-library.php:128 +msgid "Go to the last page" +msgstr "Gå till sista sidan" + +#: ../templates/admin-library.php:92 +msgid "List View" +msgstr "Listvy" + +#: ../templates/admin-library.php:95 +msgid "Grid View" +msgstr "Rutnätsvy" + +#: ../templates/admin-library.php:140 +msgid "Edit Multiple Catalog Item's Categories" +msgstr "Ändra flera katalog artiklars kategorier" + +#: ../templates/admin-library.php:145 +msgid "Add to categories" +msgstr "Lägg till kategorier" + +#: ../templates/admin-library.php:150 +#: ../templates/admin-library.php:170 +msgid "You have no categories." +msgstr "Du har inga kategorier." + +#: ../templates/admin-library.php:165 +msgid "Remove from categories" +msgstr "Ta bort från kategorier" + +#: ../templates/admin-library.php:190 +msgid "Change Multiple Categories" +msgstr "Ändra flera kategorier" + +#: ../templates/admin-library.php:192 +msgid "Select the categories you would like each selected item to be part of by checking their boxes." +msgstr "Välj kategorierna som du vill varje vald artikel ska vara del av genom att markera de." + +#: ../templates/admin-library.php:193 +msgid "After the bulk edit, the selected items will be in only the categories selected above." +msgstr "Efter gruppändring kommer valda artiklar endast finnas i ovan valda kategorier." + +#: ../templates/admin-library.php:216 +msgid "Please select a bulk action to apply." +msgstr "Välj en massåtgärd för att tillämpa den." + +#: ../templates/admin-library.php:223 +msgid "Please select at least one catalog item first." +msgstr "Välj minst en katalog artikel först." + +#: ../templates/admin-library.php:242 +msgid "Are you sure you want to delete multiple items?" +msgstr "Är du säker på att du vill ta bort flertalet artiklar?" + +#: ../templates/admin-library.php:271 +msgid "Are you sure you want to permanently delete this catalog items?" +msgstr "Är du säker på att du vill ta bort dessa katalog artiklar permanent?" + +#: ../templates/admin-list.php:5 +#: ../templates/admin-list.php:47 +msgid "Image" +msgstr "Bild" + +#: ../templates/admin-list.php:19 +#: ../templates/admin-list.php:52 +msgid "Price" +msgstr "Pris" + +#: ../templates/admin-list.php:28 +#: ../templates/admin-list.php:56 +msgid "Order" +msgstr "Beställning" + +#: ../templates/admin-list.php:38 +#: ../templates/admin-list.php:57 +msgid "Date" +msgstr "Datum" + +#: ../templates/admin-list.php:89 +msgid "Edit" +msgstr "Ändra" + +#: ../templates/admin-new.php:13 +msgid "Upload An Image To Create A New Catalog Item" +msgstr "Ladda upp en bild för att skapa en ny katalog artikel" + +#: ../templates/admin-new.php:14 +#, fuzzy +msgid "Upload Multiple Images" +msgstr "Ladda upp en ny underbild" + +#: ../templates/admin-new.php:24 +#, php-format +msgid "Maximum upload file size: %sB" +msgstr "Maximal storlek på filer som laddas upp är: %sB" + +#: ../templates/admin-new.php:27 +#, fuzzy +msgid "Select images on your computer to upload and make new catalog items with." +msgstr "Välj en bild på din dator för att ladda upp och använda till att skapa en ny katalog artikel." + +#: ../templates/admin-new.php:65 +#, fuzzy, php-format +msgid "currently uploading %s of %s" +msgstr "Renderar... %s av %s" + +#: ../templates/admin-new.php:95 +#, fuzzy +msgid "Select Images" +msgstr "Återskapa bilder" + +#: ../templates/admin-new.php:128 +#, fuzzy +msgid "Cancel Upload" +msgstr "Ladda upp" + +#: ../templates/admin-options.php:8 +msgid "You must have a JavaScript enabled browser to change the CataBlog options." +msgstr "Du måste tillåta JavaScript i webbläsaren för att ändra CataBlog inställningar." + +#: ../templates/admin-options.php:17 +#: ../templates/admin-regenerate.php:22 +#: ../templates/admin-rescan.php:24 +msgid "Processing Thumbnail Images..." +msgstr "Processar tumnagelbild..." + +#: ../templates/admin-options.php:24 +msgid "Waiting For LightBox Rendering To Finish..." +msgstr "Väntar på att LightBox renderingen ska bli färdig..." + +#: ../templates/admin-options.php:31 +msgid "Thumbnails" +msgstr "Tumnagel" + +#: ../templates/admin-options.php:32 +msgid "LightBox" +msgstr "LightBox" + +#: ../templates/admin-options.php:33 +msgid "Public" +msgstr "Publikt" + +#: ../templates/admin-options.php:36 +msgid "Template" +msgstr "Mall" + +#: ../templates/admin-options.php:37 +msgid "Store" +msgstr "Lager" + +#: ../templates/admin-options.php:38 +msgid "Export" +msgstr "Exportera" + +#: ../templates/admin-options.php:39 +msgid "Import" +msgstr "Importera" + +#: ../templates/admin-options.php:40 +msgid "Systems" +msgstr "System" + +#: ../templates/admin-options.php:47 +msgid "Thumbnail Size:" +msgstr "Tumnagel storlek:" + +#: ../templates/admin-options.php:49 +#: ../templates/admin-options.php:98 +msgid "pixels" +msgstr "pixlar" + +#: ../templates/admin-options.php:51 +msgid "Your thumbnail size must be a positive integer." +msgstr "Din storlek på tumnagelbilden måste vara en positiv siffra." + +#: ../templates/admin-options.php:52 +msgid "this will change the thumbnail size of all your catalog items." +msgstr "detta ändrar storleken på alla tumnagel bilder i alla kataloger artiklar." + +#: ../templates/admin-options.php:56 +msgid "Keep Aspect Ratio:" +msgstr "Behåll bildförhållandet:" + +#: ../templates/admin-options.php:59 +msgid "this will keep the aspect ratio of the original image in your thumbnails, using the background color to fill in the empty space." +msgstr "detta behåller bildförhållandet för orginalbilden i tumnagelbilden, bakgrundsfärgen används för att fylla ut tomma delar i bilden." + +#: ../templates/admin-options.php:62 +msgid "Thumbnail Background Color:" +msgstr "Bakgrundsfärg för tumnagelbild:" + +#: ../templates/admin-options.php:65 +msgid "Select a Color" +msgstr "Välj en färg" + +#: ../templates/admin-options.php:70 +msgid "Thumbnail Preview" +msgstr "Förhandsvisning för tumnagelbilden" + +#: ../templates/admin-options.php:83 +msgid "Enable LightBox:" +msgstr "Aktivera LightBox:" + +#: ../templates/admin-options.php:85 +msgid "Load the necessary javascript libraries to enlarge an image thumbnail with the LightBox effect." +msgstr "Ladda de nödvändiga JavaScript biblioteken för att förstora en tumnagelbild med LightBox effekten." + +#: ../templates/admin-options.php:90 +msgid "Render a new image to be used for the lightbox:" +msgstr "Rendera en ny bild för att användas med LightBox:" + +#: ../templates/admin-options.php:92 +msgid "check this box to render a similarly sized image for each catalog item to be used with the LightBox." +msgstr "markera här för att rendera en bild i samma storlek för varje katalog artikel som används med LightBox." + +#: ../templates/admin-options.php:96 +msgid "LightBox Size:" +msgstr "LightBox storlek:" + +#: ../templates/admin-options.php:99 +msgid "Your lightbox size must be a positive integer." +msgstr "Din storlek för LightBox måste vara en positiv siffra." + +#: ../templates/admin-options.php:100 +msgid "This is the maximum length of either the height or width, depending on whichever is longer in the original uploaded image." +msgstr "Detta är maximala måttet för antingen höjd eller bredd, beroende på vilken som är större i den uppladdade orginalbilden." + +#: ../templates/admin-options.php:104 +msgid "LightBox jQuery Selector:" +msgstr "Väljare för LightBox jQuery:" + +#: ../templates/admin-options.php:107 +msgid "This lets you modify the selector used by jQuery to attach the LightBox to image thumbnails. The default value is: .catablog-image" +msgstr "Detta låter dig modifiera väljaren använd av jQuery för att fästa LightBox till tumnagelbilder. Grundvärdet är: .catablog-image" + +#: ../templates/admin-options.php:121 +msgid "Enable Individual Pages and Category Archives:" +msgstr "Aktivera enskilda sidor och katagoriarkiv:" + +#: ../templates/admin-options.php:123 +msgid "If this is checked, each and every catalog item will get its very own page, complete with permalink." +msgstr "Om denna är markerad kommer varje enskild katalog artikel få sin egen sida, komplett med permalänk." + +#: ../templates/admin-options.php:124 +msgid "Also, each CataBlog Category will have their own archive page automatically generated." +msgstr "Så kommer även arkivsidor automatiskt skapas för varje CataBlog kategori." + +#: ../templates/admin-options.php:125 +#, php-format +msgid "These CataBlog Category pages can easily be added to your %sMenus%s with the Screen Options panel." +msgstr "Dessa CataBlog kategorisidor kan enkelt läggas till i dina %sMenyer%s via Skärmalternativ panelen." + +#: ../templates/admin-options.php:129 +msgid "Individual Pages Slug:" +msgstr "Individuella permalänk sidor:" + +#: ../templates/admin-options.php:131 +msgid "This is the identifying slug your blog will use to create your individual catalog item pages." +msgstr "Detta är identifieraren som din blog kommer att använda för att skapa dina individuella sidor för katalog artiklarna." + +#: ../templates/admin-options.php:135 +msgid "Category Pages Slug:" +msgstr "Kategorins permalänk:" + +#: ../templates/admin-options.php:137 +msgid "This is the identifying slug your blog will use to create your catalog archive pages." +msgstr "Detta är identifieraren som din blig kommer att använda för att skapa dina sidor för katalog arkiven." + +#: ../templates/admin-options.php:143 +msgid "Catalog Slugs Warning" +msgstr "Katalogens permalänk varning" + +#: ../templates/admin-options.php:144 +#, php-format +msgid "Please make sure you do not set either of your catalog slugs to a %sWordPress Reserved Term%s." +msgstr "Var säker på att du inte sätter en permalänk till en katalog med en %sWordPress Reserverat Uttryck%s." + +#: ../templates/admin-options.php:145 +msgid "These labels must also be URL friendly, so they may be transformed from your original input." +msgstr "Dessa etiketter måste även vara URL vänliga, så att de kan bli förändrade." + +#: ../templates/admin-options.php:149 +msgid "Changing Catalog Slugs" +msgstr "Ändra permalänk för kataloger" + +#: ../templates/admin-options.php:150 +#, php-format +msgid "If you change these values, please immediately visit the %sPermalinks%s panel to update your rewrite rules." +msgstr "Om du ändra dessa värden, se till och besök %sPermalänkar%s för att uppdatera dina regler." + +#: ../templates/admin-options.php:151 +msgid "Your individual catalog item pages and archives will not work until you have updated your rewrite rules." +msgstr "Dina individuella sidor för katalog artiklar och arkiv kommer inte att fungera förrens du har uppdaterad dina omskrivna regler. " + +#: ../templates/admin-options.php:161 +msgid "Link Target:" +msgstr "Länkmål:" + +#: ../templates/admin-options.php:164 +msgid "The link target setting will set the target attribute of all the catalog title links." +msgstr "Länkmålsinställningen sätter målattributet för länkarna i alla katalogtitlar." + +#: ../templates/admin-options.php:165 +#: ../templates/admin-options.php:173 +msgid "examples:" +msgstr "exempel:" + +#: ../templates/admin-options.php:169 +msgid "Link Relationship:" +msgstr "Länk relationer:" + +#: ../templates/admin-options.php:172 +msgid "The link relationship will set the rel attribute of all the catalog title links." +msgstr "Länk relationen sätter rel attributet till alla katalogens titellänkar." + +#: ../templates/admin-options.php:183 +msgid "Enable WordPress Filters:" +msgstr "Aktivera WordPress filter:" + +#: ../templates/admin-options.php:186 +msgid "Enable the standard WordPress filters for your catalog item's description." +msgstr "Aktivera WordPress standard filter för beskrivningen av dina katalog artiklar. " + +#: ../templates/admin-options.php:187 +msgid "This allows you to use ShortCodes and media embeds inside your catalog item descriptions." +msgstr "Detta gör det möjligt för dig att använda Kortkoder och inbädda media i beskrivningen av dina katalog artiklar." + +#: ../templates/admin-options.php:188 +msgid "Please do not use the CataBlog ShortCode inside a catalog item's description." +msgstr "Var god använd inte CataBlog Kortkoder i beskrivningen av dina katalog artiklar." + +#: ../templates/admin-options.php:194 +msgid "Render Line Breaks:" +msgstr "Rendera radbrytningar:" + +#: ../templates/admin-options.php:197 +#, php-format +msgid "Filter your catalog item's description through the standard PHP function %s." +msgstr "Filtrera dina beskrivningar av katalog artiklar genom PHP funktionen %s." + +#: ../templates/admin-options.php:198 +msgid "This will insert HTML line breaks before all new lines in your catalog descriptions." +msgstr "Detta inför HTML radbrytningar före alla nya rader i din beskrivning." + +#: ../templates/admin-options.php:199 +msgid "Turn this off if unwanted line breaks are being rendered on your page." +msgstr "Stäng av detta om det skapas oönskade radbrytningar på din sida." + +#: ../templates/admin-options.php:214 +#: ../templates/admin-options.php:257 +msgid "Load Template" +msgstr "Ladda mall" + +#: ../templates/admin-options.php:216 +#: ../templates/admin-options.php:259 +msgid "Could not locate the views directory. Please reinstall CataBlog." +msgstr "Kunde inte lokalisera vykatalogen. Ominstallera CataBlog." + +#: ../templates/admin-options.php:225 +msgid "You may change the html code rendered by CataBlog here, this allows you to make fundamental changes to how catalogs will appear in your posts. You may choose a template from the drop down menu at top and then click Load Template to load it into the template code. If you want to setup a photo gallery I would recommend that you load the Gallery template and then click save below. To setup a shopping cart you should load the Default Template code and then load a Store Template." +msgstr "Här kan du ändra HTML koden som CataBlog skapar, detta gör det möjligt för dig att fundamentalt ändra hur kataloger ska visas. Du kan välja en mall från gardinmenyn högst upp och sedan klicka Ladda mall för att ladda mallens kod. Om du vill skapa ett fotogalleri rekommenderar jag att du laddar Galleri mallen och klickar på spara nedan. För att skapa en varukorg bör du ladda Grundmallen och sedan använda en Butiksmall. " + +#: ../templates/admin-options.php:230 +msgid "Don't forget to click Save Changes at the bottom of the page to finalize your changes and use the new code for your blog." +msgstr "Glöm inte bort att klicka på Spara ändringar längst ner på sidan för att spara ändringarna och använda den nya koden på din hemsida." + +#: ../templates/admin-options.php:239 +msgid "PayPal Account Email Address:" +msgstr "E-post adress för PayPal kontot:" + +#: ../templates/admin-options.php:244 +#, php-format +msgid "Enter in an email address here that has been registered with %sPayPal%s and choose a Buy Now Template below to setup a store. You may then give items a price and product code. When an item has a price above zero a 'Buy Now' button will appear under the description of that CataBlog item." +msgstr "Skriv in den e-post adress som registrerades hos %sPayPal%s och välj en Köp nu mall nedan för att sätta upp din butik. Du kan sedan prissätta artiklar samt ge de en produktkod. Om en artikel har ett pris över noll kommer en 'Köp nu' knapp visas under beskrivningen av artikeln." + +#: ../templates/admin-options.php:265 +msgid "You may change the html code rendered for the Buy Now button here. All value tokens are available here too, so place the title, description or any other values you may want to use from the current catalog item in this code as well." +msgstr "Du kan ändra HTML koden för Köp nu knappen här. Alla värde tokens är tillgängliga här, så placera titel, beskrivning och andra värden du vill ha från nuvarande katalog i koden." + +#: ../templates/admin-options.php:284 +msgid "You may export your CataBlog data to a XML or CSV file which may be used to backup and protect your work. The XML or CSV file is a simple transfer of the database information itself and the images are not included in this backup. To backup your images follow the directions at the bottom of the page." +msgstr "Du kan exportera data från CataBlog till en XML eller CSV fil och på detta sätt ta en backup och skydda ditt jobb. XML eller CSV filen är information som kopieras från databasen och bilderna inkluderas inte i denna backup. För att ta en backup på dina bilder är det bara att följa instruktionerna längst ner på sidan." + +#: ../templates/admin-options.php:290 +msgid "Save XML BackUp File" +msgstr "Spara XML backup filen" + +#: ../templates/admin-options.php:294 +msgid "Save CSV BackUp File" +msgstr "Spara CSV backup filen" + +#: ../templates/admin-options.php:301 +#, php-format +msgid "You must have the function %sfputcsv()%s available on your web server's version of PHP for CSV export to work." +msgstr "Du måste ha funktionen %sfputcsv()%s tillgänglig på din webbserver för att få CSV exporten att fungera." + +#: ../templates/admin-options.php:303 +msgid "Please contact your server administrator for more information regarding this error." +msgstr "Ta kontakt med din server administratör för mer information om detta fel." + +#: ../templates/admin-options.php:310 +msgid "Backing Up Images:" +msgstr "Backup på bilderna:" + +#: ../templates/admin-options.php:311 +msgid "Please copy the catablog directory to a secure location." +msgstr "Var god och kopiera CataBlog katalogen till en säker plats." + +#: ../templates/admin-options.php:312 +msgid "The directory for this WordPress blog can be located on your web server at:" +msgstr "Katalogen för denna WordPress blogg hittas på din webbserver här:" + +#: ../templates/admin-options.php:323 +msgid "Import XML/CSV Data" +msgstr "Importera XML/CSV data" + +#: ../templates/admin-options.php:331 +msgid "Replace All Data:" +msgstr "Byt ut all data:" + +#: ../templates/admin-options.php:334 +msgid "Import CataBlog Data" +msgstr "Importera CataBlog data" + +#: ../templates/admin-options.php:338 +msgid "You must have the Simple XML Library installed on your web server's version of PHP for XML imports to work. Please contact your server administrator for more information regarding this error." +msgstr "Du måste ha Simple XML Library installerad på din webbserver för att XML importering ska fungera. Ta kontakt med din server administratör för mer information angående felet." + +#: ../templates/admin-options.php:343 +msgid "To import data into your catalog you simply select a XML or CVS file on your hard drive and click the Import CataBlog Data button. You may choose to completely erase all your data before importing by checking the Replace All Data checkbox.
    Keep in mind, this does not import or delete images." +msgstr "För att importera data in i en katalog väljer du helt enkelt en XML eller CVS fil på din hårddisk och klickar på Importera CataBlog data knappen. Du får valet att antingen ta bort all tidigare data innan import genom att markera Ersätt all data.
    Kom ihåg, detta varken importerar eller tar bort bilder." + +#: ../templates/admin-options.php:346 +#, php-format +msgid "To import images you should upload them to the originals directory, located at: %s. Once you load the XML or CVS file and the images into the originals directory everything should be set after you %sRegenerate All Images%s in the systems tab." +msgstr "För att importera bilder bör du ladda upp de till orginal katalogen: %s. När du har laddat XML eller CVS filen samt lagt upp bilderna till orginal katalogen är allt färdigt inför att %sÅterskapa alla bilder%s under systemfliken." + +#: ../templates/admin-options.php:350 +#, php-format +msgid "You may view XML and CSV examples in the %simport/export documentation%s." +msgstr "Du kan titta på XML och CSV exempel i %simportera/exportera dokumentationen%s." + +#: ../templates/admin-options.php:364 +msgid "CataBlog Upload Folders are Unlocked" +msgstr "CataBlogs katalog för uppladdning är Olåst" + +#: ../templates/admin-options.php:366 +msgid "CataBlog Upload Folders are Locked" +msgstr "CataBlogs katalog för uppladdning är Låst" + +#: ../templates/admin-options.php:374 +msgid "Lock Folders" +msgstr "Lås mapparna" + +#: ../templates/admin-options.php:376 +msgid "Unlock Folders" +msgstr "Lås upp mapparna" + +#: ../templates/admin-options.php:380 +#, php-format +msgid "You may lock and unlock your catablog folders with these controls. The idea is to unlock the folders, use your FTP client to upload your original files and then lock the folders to protect them from hackers. After unlocking your directories please upload the original files directly into the %s folder without replacing it. Do not replace any of the CataBlog created folders. You should then regenerate all your thumbnail and lightbox pictures below. These controls may not work on a Windows server, it depends on your servers PHP settings and if the chmod command is supported." +msgstr "Du kan låsa eller låsa upp dina CataBlog mappar med dessa kontroller. Idén är att låsa upp mapparna, använda FTP för att ladda upp orginal filerna och sedan låsa mapparna för att skydda dessa mot hackare. Efter att du har låst upp dina kataloger ladda då upp dina orginalfiler direkt in i %s mappen utan att ersätta den. Ersätt inga av CataBlogs skapade mappar. Du bör sedan återskapa alla dina tumnagel och LightBox bilder nedan. Dessa kontroller kan eventuellt inte fungera på en Windows server, beroende på serverns PHP inställnigar och om chmod stöds." + +#: ../templates/admin-options.php:385 +msgid "Rescan Original Image Folder" +msgstr "Skanna om orginalbildernas mapp" + +#: ../templates/admin-options.php:387 +msgid "Rescan Original Images Folder Now" +msgstr "Skanna om orginalbildernas mapp nu" + +#: ../templates/admin-options.php:389 +msgid "Click the Rescan Now button to rescan the original catablog images folder and automatically import any new jpeg, gif or png images. It works simply by making a list of all the image names in the database and then compares each file's name in the originals folder against the list of image names in the database. Any newly discovered images will automatically be made into a new catalog item. You should Regenerate Images after running this command." +msgstr "Klicka på Skanna nu knappen för att skanna om mappen med orginalbilder och automatiskt importera alla nya JPEG, GIF eller PNG bilder. Det fungerar genom att en lista skapas med alla bildnamn i databasen och sedan jämförs de varje enskilt filnamn i mappen. Alla nya bilder som hittas blir automatiskt en ny katalog artikel. Du bör Återskapa bilder efter att du har kört denna funktion." + +#: ../templates/admin-options.php:394 +msgid "Regenerate Images" +msgstr "Återskapa bilder" + +#: ../templates/admin-options.php:396 +msgid "Regenerate All Images Now" +msgstr "Återskapa alla bilder nu" + +#: ../templates/admin-options.php:398 +msgid "Click the Regenerate Now button to recreate all the thumbnail and lightbox images that CataBlog has generated over the time you have used it. This is also useful when restoring exported data from another version of CataBlog. after you have uploaded your original images you must regenerate your images so they display properly." +msgstr "Klicka på Återskapa nu knappen för att återskapa alla tumnagel och LightBox bilder som CataBlog har genererat under den tid som du har använd det. Detta är också användbart när du vill återställa exporterat data från en annan version av CataBlog. Efter att du har laddat upp dina orginalbilder måste du återskapa dina bilder så att de visas korrekt." + +#: ../templates/admin-options.php:403 +msgid "Remove CataBlog" +msgstr "Ta bort CataBlog" + +#: ../templates/admin-options.php:405 +msgid "Remove All CataBlog Data" +msgstr "Ta bort all CataBlog data" + +#: ../templates/admin-options.php:407 +msgid "Delete your entire catalog, deleting all photos and custom data permanently. Sometimes you can use this to fix an improper installation." +msgstr "Ta bort hela din katalog, ta bort alla bilder och anpassad data permanent. Ibland kan du använda detta till att åtgärda en felaktig installation." + +#: ../templates/admin-options.php:416 +#, php-format +msgid "or %sundo current changes%s" +msgstr "eller %sångra nuvarande ändringar%s" + +#: ../templates/admin-options.php:682 +#: ../templates/admin-regenerate.php:43 +#: ../templates/admin-rescan.php:49 +msgid "Please allow the rendering to complete before leaving this page. Click cancel to go back and let the rendering complete." +msgstr "Låt renderingen avslutas innan du byter sida. Klicka på avbryt för att gå tillbaka och låt renderingen avslutas." + +#: ../templates/admin-options.php:687 +msgid "Image rendering is not complete, you should let image rendering complete before leaving this page." +msgstr "Renderingen av bilderna är inte klar, du bör låta renderingen avslutas innan du fortsätter." + +#: ../templates/admin-regenerate.php:4 +msgid "CataBlog Images Rendering" +msgstr "CataBlog rendering av bilder" + +#: ../templates/admin-regenerate.php:8 +#: ../templates/admin-rescan.php:18 +msgid "You must have a JavaScript enabled browser to regenerate your images." +msgstr "Du måste ha stöd för JavaScript i webbläsaren för att kunna regenerera dina bilder." + +#: ../templates/admin-regenerate.php:15 +msgid "Your CataBlog library is empty, there are no images to render." +msgstr "Ditt CataBlog bibliotek är tomt, det finns inga bilder att återge." + +#: ../templates/admin-regenerate.php:28 +#: ../templates/admin-rescan.php:30 +msgid "Waiting For Thumbnail Rendering To Finish..." +msgstr "Väntar på att rendering av tumnagelbilden ska avslutas..." + +#: ../templates/admin-regenerate.php:33 +msgid "Rendering all images from their original files, this may take awhile so please be patient." +msgstr "Återger alla bilder från orginalfilerna, detta kan ta en stund så var tålmodig." + +#: ../templates/admin-regenerate.php:41 +msgid "Image rendering is now complete, you may now go to any other admin panel you may want." +msgstr "Renderingen av bilderna är klar, du kan nu fortsätta med inställningarna som du vill." + +#: ../templates/admin-remove.php:4 +msgid "CataBlog Remove" +msgstr "Ta bort CataBlog" + +#: ../templates/admin-remove.php:8 +msgid "You must have a JavaScript enabled browser to remove your catalog installation, sorry..." +msgstr "Du måste tillåta JavaScript i webbläsaren för att ändra inställningarna för CataBlog." + +#: ../templates/admin-remove.php:16 +msgid "Removing CataBlog..." +msgstr "Tar bort CataBlog..." + +#: ../templates/admin-rescan.php:4 +msgid "CataBlog Rescan Original Images Results" +msgstr "CataBlog resultat för orginalbildsskanning" + +#: ../templates/admin-rescan.php:10 +msgid "No new images where found in your originals folders." +msgstr "Inga nya bilder hittades i dina bildorginal mappar." + +#: ../templates/admin-rescan.php:11 +msgid "Please make sure that you have successfully uploaded new images via FTP before running this command." +msgstr "Säkerställ att du har lyckats att ladda upp nya bilder via FTP innan du kör detta kommando." + +#: ../templates/admin-rescan.php:12 +msgid "New images should be uploaded into the following folder:" +msgstr "Nya bilder ska laddas upp till följande mapp:" + +#: ../templates/admin-rescan.php:36 +#, php-format +msgid "New Image Found, creating catalog item %s" +msgstr "Ny bild hittades, skapar katalog artikel %s" + +#: ../templates/admin-screen-options-library.php:37 +#: ../templates/admin-screen-options-library.php:46 +msgid "Show on screen" +msgstr "Visa på skärmen" + +#: ../templates/admin-screen-options-library.php:49 +msgid "Catalog items" +msgstr "Katalog Artikel" + +#~ msgid "Trash" +#~ msgstr "Papperskorg" + +#~ msgid "Could not move the uploaded file on your server" +#~ msgstr "Kunde inte flytta de uppladdade filerna på din server" + +#~ msgid "This feature only works when viewing a single category." +#~ msgstr "Denna funktion fungerar endast när du ser på en kategori." + +#~ msgid "" +#~ "You have not saved your order. If you leave now you will loose your " +#~ "changes. Are you sure you want to continue leaving this page?" +#~ msgstr "" +#~ "Du har inte sparat din beställning. Om du lämnar sidan nu kommer du " +#~ "förlora beställningen. Är du säker på att du vill lämna sidan?" + +#~ msgid "Drag the items below to rearrange their order." +#~ msgstr "Dra artiklarna nedan för att ändra deras ordning." + +#~ msgid "Saving new catalog order..." +#~ msgstr "Sparar ny ordning för katalogen..." + +#~ msgid "Your catalog items have been rearranged successfully." +#~ msgstr "Katalog artiklarna har bytt ordning." + +#~ msgid "" +#~ "CataBlog must be setup for this site before you may use it! %s Setup " +#~ "CataBlog Now %s" +#~ msgstr "" +#~ "CataBlog måste konfigureras för denna sajt innan du kan använda den. %s " +#~ "Konfigurera CataBlog Nu %s" + +#~ msgid "" +#~ "System has been cleared of all CataBlog data and the default options " +#~ "reset." +#~ msgstr "" +#~ "Systemet har blivit rensat på allt CataBlog data och grundinställningarna " +#~ "har återställs." + +#~ msgid "End CataBlog LightBox Inline Stylesheet" +#~ msgstr "Slut CataBlog LightBox Inline stilmall" + +#~ msgid "" +#~ "CataBlog requires that the MultiByte String " +#~ "Library be installed on your web server's version of PHP. Please " +#~ "contact your hosting company or IT department for more information. " +#~ "Thanks." +#~ msgstr "" +#~ "CataBlog kräver att MultiByte String Library är installerat på webbservern med PHP. Kontakta ditt webbhotell " +#~ "eller IT avdelning för mer information. Tack." + +#~ msgid "Rescan Console" +#~ msgstr "Skanna konsolen" diff --git a/src/wp-content/plugins/catablog/localization/catablog.mo b/src/wp-content/plugins/catablog/localization/catablog.mo new file mode 100644 index 0000000..4b7bdf2 Binary files /dev/null and b/src/wp-content/plugins/catablog/localization/catablog.mo differ diff --git a/src/wp-content/plugins/catablog/localization/catablog.po b/src/wp-content/plugins/catablog/localization/catablog.po new file mode 100644 index 0000000..5ccd8dd --- /dev/null +++ b/src/wp-content/plugins/catablog/localization/catablog.po @@ -0,0 +1,1614 @@ +# Copyright (C) 2010 CataBlog +# This file is distributed under the same license as the CataBlog package. +msgid "" +msgstr "" +"Project-Id-Version: CataBlog 1.2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-06-03 15:20-0800\n" +"PO-Revision-Date: 2011-06-03 15:20-0800\n" +"Last-Translator: Zachary Segal \n" +"Language-Team: illProductions \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: English\n" +"X-Poedit-Country: UNITED STATES\n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: ./..\n" + +#: ../catablog.php:94 +msgid "CataBlog requires PHP 5 or better running on your web server. You're version of PHP is to old, please contact your hosting company or IT department for an upgrade. Thanks." +msgstr "" + +#: ../catablog.php:99 +msgid "CataBlog requires that the GD Library be installed on your web server's version of PHP. Please contact your hosting company or IT department for more information. Thanks." +msgstr "" + +#: ../catablog.php:104 +msgid "CataBlog requires WordPress 3.1 or above. Please upgrade WordPress or contact your system administrator about upgrading." +msgstr "" + +#: ../catablog.php:110 +msgid "CataBlog could not detect your upload directory or it is not writable by PHP. Please make sure Apache and PHP have write permission for the configured uploads folder. Contact your hosting company or IT department for more information. Thanks." +msgstr "" + +#: ../lib/CataBlog.class.php:189 +msgid "Uncategorized" +msgstr "" + +#: ../lib/CataBlog.class.php:199 +msgid "CataBlog Item" +msgstr "" + +#: ../lib/CataBlog.class.php:204 +msgid "A Catalog Item, generated by CataBlog." +msgstr "" + +#: ../lib/CataBlog.class.php:215 +msgid "CataBlog Category" +msgstr "" + +#: ../lib/CataBlog.class.php:298 +#: ../templates/admin-404.php:11 +#: ../templates/admin-library.php:9 +msgid "CataBlog Library" +msgstr "" + +#: ../lib/CataBlog.class.php:298 +#: ../lib/CataBlog.class.php:362 +msgid "Library" +msgstr "" + +#: ../lib/CataBlog.class.php:299 +#: ../templates/admin-new.php:4 +msgid "Add New CataBlog Entry" +msgstr "" + +#: ../lib/CataBlog.class.php:299 +#: ../lib/CataBlog.class.php:363 +#: ../templates/admin-library.php:10 +msgid "Add New" +msgstr "" + +#: ../lib/CataBlog.class.php:300 +msgid "CataBlog Options" +msgstr "" + +#: ../lib/CataBlog.class.php:300 +#: ../lib/CataBlog.class.php:364 +msgid "Options" +msgstr "" + +#: ../lib/CataBlog.class.php:301 +#: ../templates/admin-about.php:4 +msgid "About CataBlog" +msgstr "" + +#: ../lib/CataBlog.class.php:301 +#: ../lib/CataBlog.class.php:365 +msgid "About" +msgstr "" + +#: ../lib/CataBlog.class.php:353 +#: ../templates/admin-edit.php:4 +msgid "Edit CataBlog Entry" +msgstr "" + +#: ../lib/CataBlog.class.php:361 +#: ../templates/admin-discfull.php:22 +msgid "CataBlog" +msgstr "" + +#: ../lib/CataBlog.class.php:368 +msgid "CataBlog Entry" +msgstr "" + +#: ../lib/CataBlog.class.php:534 +#: ../lib/CataBlog.class.php:567 +msgid "Changes Saved Successfully." +msgstr "" + +#: ../lib/CataBlog.class.php:537 +msgid "Catalog Item Deleted Successfully." +msgstr "" + +#: ../lib/CataBlog.class.php:540 +msgid "Could Not Delete Item Because ID was non existent." +msgstr "" + +#: ../lib/CataBlog.class.php:543 +msgid "Could not verify bulk edit action nonce, please refresh page and try again." +msgstr "" + +#: ../lib/CataBlog.class.php:546 +msgid "Bulk categories edit performed successfully." +msgstr "" + +#: ../lib/CataBlog.class.php:549 +msgid "Bulk delete performed successfully." +msgstr "" + +#: ../lib/CataBlog.class.php:552 +msgid "Reset all data successfully." +msgstr "" + +#: ../lib/CataBlog.class.php:571 +msgid "View Now" +msgstr "" + +#: ../lib/CataBlog.class.php:632 +msgid "CataBlog Options Saved" +msgstr "" + +#: ../lib/CataBlog.class.php:677 +msgid "Please Let The Rendering Below Complete Before Navigating Away From This Page" +msgstr "" + +#: ../lib/CataBlog.class.php:699 +msgid "Form Validation Error. Please reload the page and try again." +msgstr "" + +#: ../lib/CataBlog.class.php:725 +#: ../lib/CataBlog.class.php:726 +#: ../lib/CataBlog.class.php:727 +msgid "not present" +msgstr "" + +#: ../lib/CataBlog.class.php:815 +msgid "The file you selected was to large or you didn't select anything at all, please try again." +msgstr "" + +#: ../lib/CataBlog.class.php:819 +#: ../lib/CataBlog.class.php:871 +#: ../lib/CataBlog.class.php:923 +#: ../lib/CataBlog.class.php:961 +#: ../lib/CataBlog.class.php:1094 +msgid "WordPress Nonce Error, please reload the form and try again." +msgstr "" + +#: ../lib/CataBlog.class.php:875 +msgid "full form was not submitted, please try again." +msgstr "" + +#: ../lib/CataBlog.class.php:919 +#: ../lib/CataBlog.class.php:957 +msgid "You didn't select anything to upload, please try again." +msgstr "" + +#: ../lib/CataBlog.class.php:927 +#: ../lib/CataBlog.class.php:965 +msgid "No item ID posted, press back arrow and try again." +msgstr "" + +#: ../lib/CataBlog.class.php:1008 +msgid "Please make your selection by checking the boxes in the list below." +msgstr "" + +#: ../lib/CataBlog.class.php:1054 +#, php-format +msgid "Error during set category, could not load item with id %s." +msgstr "" + +#: ../lib/CataBlog.class.php:1072 +#, php-format +msgid "Error during bulk delete, could not load item with id %s." +msgstr "" + +#: ../lib/CataBlog.class.php:1103 +msgid "No file was selected for upload, please try again." +msgstr "" + +#: ../lib/CataBlog.class.php:1112 +msgid "Uploaded XML File Could Not Be Parsed, Check That The File's Content Is Valid XML." +msgstr "" + +#: ../lib/CataBlog.class.php:1118 +msgid "Uploaded CSV File Could Not Be Parsed, Check That The File's Format Is Valid." +msgstr "" + +#: ../lib/CataBlog.class.php:1122 +msgid "Uploaded file was not of proper format, please make sure the filename has an xml or csv extension." +msgstr "" + +#: ../lib/CataBlog.class.php:1189 +msgid "The CataBlog upload directories have been unlocked." +msgstr "" + +#: ../lib/CataBlog.class.php:1192 +#: ../lib/CataBlog.class.php:1205 +msgid "Could not lock/unlock the directory. Are you using a unix based server?" +msgstr "" + +#: ../lib/CataBlog.class.php:1202 +msgid "The CataBlog upload directories have been locked." +msgstr "" + +#: ../lib/CataBlog.class.php:1319 +msgid "micro save successful" +msgstr "" + +#: ../lib/CataBlog.class.php:1347 +msgid "Screen Options updated successfully." +msgstr "" + +#: ../lib/CataBlog.class.php:1376 +msgid "Commas, Pipes and reserved HTML characters are not allowed in category names." +msgstr "" + +#: ../lib/CataBlog.class.php:1382 +msgid "Please be a little more specific with your category name." +msgstr "" + +#: ../lib/CataBlog.class.php:1394 +msgid "There already is a category with that name." +msgstr "" + +#: ../lib/CataBlog.class.php:1423 +msgid "Term Removed Successfully." +msgstr "" + +#: ../lib/CataBlog.class.php:1426 +msgid "Term did not exist, please refresh page and try again." +msgstr "" + +#: ../lib/CataBlog.class.php:1468 +msgid "unsupported image size type" +msgstr "" + +#: ../lib/CataBlog.class.php:1477 +#, php-format +msgid "Rendering... %s of %s" +msgstr "" + +#: ../lib/CataBlog.class.php:1479 +msgid "Image rendering is now complete." +msgstr "" + +#: ../lib/CataBlog.class.php:1520 +msgid "error" +msgstr "" + +#: ../lib/CataBlog.class.php:1523 +msgid "sub image deleted successfully" +msgstr "" + +#: ../lib/CataBlog.class.php:1542 +#, php-format +msgid "%s library items deleted successfully." +msgstr "" + +#: ../lib/CataBlog.class.php:1545 +msgid "CataBlog Library Cleared Successfully." +msgstr "" + +#: ../lib/CataBlog.class.php:1558 +msgid "CataBlog Options, Directories and Terms Deleted Successfully." +msgstr "" + +#: ../lib/CataBlog.class.php:1559 +msgid "You may now go deactivate CataBlog and nothing will be left behind." +msgstr "" + +#: ../lib/CataBlog.class.php:1560 +msgid "If you want to continue using CataBlog, go to the library to re-install necessary settings." +msgstr "" + +#: ../lib/CataBlog.class.php:1695 +#, php-format +msgid "CataBlog %s LightBox Styles | %s" +msgstr "" + +#: ../lib/CataBlog.class.php:1715 +msgid "You may also press "P" or the left arrow on your keyboard" +msgstr "" + +#: ../lib/CataBlog.class.php:1716 +msgid "You may also press "N" or the right arrow on your keyboard" +msgstr "" + +#: ../lib/CataBlog.class.php:1717 +msgid "Close LightBox Now" +msgstr "" + +#: ../lib/CataBlog.class.php:1718 +msgid "PREV" +msgstr "" + +#: ../lib/CataBlog.class.php:1719 +msgid "NEXT" +msgstr "" + +#: ../lib/CataBlog.class.php:1720 +msgid "CLOSE" +msgstr "" + +#: ../lib/CataBlog.class.php:1724 +#, php-format +msgid "CataBlog %s LightBox JavaScript | %s" +msgstr "" + +#: ../lib/CataBlog.class.php:1726 +msgid "End CataBlog LightBox JavaScript" +msgstr "" + +#: ../lib/CataBlog.class.php:1920 +#, php-format +msgid "CataBlog ShortCode Parameter Error: The template attribute of this ShortCode points to a file that does not exist. Please make sure their is a file with the name '%s.htm' in the views directory." +msgstr "" + +#: ../lib/CataBlog.class.php:1921 +#: ../templates/admin-library.php:20 +msgid "Learn More" +msgstr "" + +#: ../lib/CataBlog.class.php:2032 +#, php-format +msgid "CataBlog options and directories have been successfully installed. Please, %srefresh now%s" +msgstr "" + +#: ../lib/CataBlog.class.php:2085 +#, php-format +msgid "There was an error creating the default term: %s" +msgstr "" + +#: ../lib/CataBlog.class.php:2123 +msgid "CataBlog options and directories have been successfully upgraded." +msgstr "" + +#: ../lib/CataBlog.class.php:2357 +#: ../lib/CataBlog.class.php:2397 +#: ../lib/CataBlog.class.php:2400 +#: ../lib/CataBlog.class.php:2403 +msgid "Error:" +msgstr "" + +#: ../lib/CataBlog.class.php:2371 +msgid "Success:" +msgstr "" + +#: ../lib/CataBlog.class.php:2371 +#, php-format +msgid " %s inserted into catalog categories." +msgstr "" + +#: ../lib/CataBlog.class.php:2379 +msgid "All New Categories Created" +msgstr "" + +#: ../lib/CataBlog.class.php:2383 +msgid "No New Categories Created" +msgstr "" + +#: ../lib/CataBlog.class.php:2396 +msgid "Update:" +msgstr "" + +#: ../lib/CataBlog.class.php:2396 +#, php-format +msgid " %s updated in database." +msgstr "" + +#: ../lib/CataBlog.class.php:2397 +#, php-format +msgid " %s was not inserted into the database." +msgstr "" + +#: ../lib/CataBlog.class.php:2400 +msgid "Item had no title and could not be made." +msgstr "" + +#: ../lib/CataBlog.class.php:2403 +msgid "Item had no primary image name and could not be made." +msgstr "" + +#: ../lib/CataBlog.class.php:2440 +msgid "Insert:" +msgstr "" + +#: ../lib/CataBlog.class.php:2440 +#, php-format +msgid " %s inserted into the database." +msgstr "" + +#: ../lib/CataBlog.class.php:2465 +msgid "All Catalog Items Processed" +msgstr "" + +#: ../lib/CataBlog.class.php:2530 +msgid "Uploaded File Exceeded The PHP Configurations Max File Size." +msgstr "" + +#: ../lib/CataBlog.class.php:2533 +msgid "Upload File Exceeded The HTML Form's Max File Size." +msgstr "" + +#: ../lib/CataBlog.class.php:2536 +msgid "File Only Partially Uploaded, Please Try Again." +msgstr "" + +#: ../lib/CataBlog.class.php:2539 +msgid "No File Selected For Upload. Please Resubmit The Form." +msgstr "" + +#: ../lib/CataBlog.class.php:2542 +msgid "Your Server's PHP Configuration Does Not Have A Temporary Folder For Uploads, Please Contact The System Admin." +msgstr "" + +#: ../lib/CataBlog.class.php:2545 +msgid "Your Server's PHP Configuration Can Not Write To Disc, Please Contact The System Admin." +msgstr "" + +#: ../lib/CataBlog.class.php:2548 +msgid "A PHP Extension Is Blocking PHP From Excepting Uploads, Please Contact The System Admin." +msgstr "" + +#: ../lib/CataBlog.class.php:2551 +msgid "An Unknown Upload Error Has Occurred" +msgstr "" + +#: ../lib/catablog.upload.php:57 +msgid "Login failure. You must be logged into the WordPress Admin section." +msgstr "" + +#: ../lib/catablog.upload.php:61 +msgid "Your Admin account does not have permission to \"edit_posts\"." +msgstr "" + +#: ../lib/catablog.upload.php:71 +msgid "Image could not be uploaded to the server, please try again." +msgstr "" + +#: ../lib/catablog.upload.php:103 +#: ../templates/admin-edit.php:78 +msgid "Save Changes" +msgstr "" + +#: ../lib/CataBlogDirectory.class.php:12 +#: ../lib/CataBlogDirectory.class.php:109 +msgid "Could not open directory." +msgstr "" + +#: ../lib/CataBlogItem.class.php:285 +msgid "An item must have an image associated with it." +msgstr "" + +#: ../lib/CataBlogItem.class.php:291 +msgid "Can't write uploaded image to server, please make sure the catablog directory in you WordPress uploads folder is writable." +msgstr "" + +#: ../lib/CataBlogItem.class.php:296 +msgid "An item must have a title of at least one alphanumeric character." +msgstr "" + +#: ../lib/CataBlogItem.class.php:301 +msgid "An item's title can not be more then 200 characters long." +msgstr "" + +#: ../lib/CataBlogItem.class.php:306 +msgid "An item's date must exactly match the MySQL date format, YYYY-MM-DD HH:MM:SS" +msgstr "" + +#: ../lib/CataBlogItem.class.php:314 +msgid "An item's date must be an actual day on the gregorian calendar." +msgstr "" + +#: ../lib/CataBlogItem.class.php:319 +msgid "An item's date hour must be below twenty-four." +msgstr "" + +#: ../lib/CataBlogItem.class.php:324 +msgid "An item's order value must be a positive integer." +msgstr "" + +#: ../lib/CataBlogItem.class.php:331 +msgid "An item's price must be a positive number." +msgstr "" + +#: ../lib/CataBlogItem.class.php:354 +#: ../lib/CataBlogItem.class.php:541 +msgid "The image could not be used because it is an unsupported format. JPEG, GIF and PNG formats only, please." +msgstr "" + +#: ../lib/CataBlogItem.class.php:367 +#: ../lib/CataBlogItem.class.php:528 +msgid "Can not write uploaded image to server, your storage space is exhausted." +msgstr "" + +#: ../lib/CataBlogItem.class.php:368 +#: ../lib/CataBlogItem.class.php:529 +msgid "Please delete some media files to free up space and try again." +msgstr "" + +#: ../lib/CataBlogItem.class.php:369 +#: ../lib/CataBlogItem.class.php:530 +#, php-format +msgid "You have %sMB of available space on your server and your image is %sMB." +msgstr "" + +#: ../lib/CataBlogItem.class.php:458 +msgid "Could not set categories, please try again." +msgstr "" + +#: ../lib/CataBlogItem.class.php:585 +#: ../lib/CataBlogItem.class.php:646 +#, php-format +msgid "Original image file missing, could not be located at %s" +msgstr "" + +#: ../lib/CataBlogItem.class.php:592 +#: ../lib/CataBlogItem.class.php:653 +msgid "Original image dimensions are less then 1px. Most likely PHP does not have permission to read the original file." +msgstr "" + +#: ../lib/CataBlogItem.class.php:621 +#: ../lib/CataBlogItem.class.php:675 +msgid "Original image could not be loaded because it is an unsupported format." +msgstr "" + +#: ../templates/admin-404.php:4 +msgid "CataBlog Item Not Found" +msgstr "" + +#: ../templates/admin-404.php:8 +msgid "You attempted to edit an item that doesn't exist. Perhaps it was deleted?" +msgstr "" + +#: ../templates/admin-404.php:10 +#: ../templates/admin-discfull.php:19 +msgid "Go To:" +msgstr "" + +#: ../templates/admin-404.php:12 +#: ../templates/admin-discfull.php:20 +msgid "Dashboard" +msgstr "" + +#: ../templates/admin-about.php:9 +#, php-format +msgid "%sCataBlog%s is written by %sZachary Segal%s in his spare time." +msgstr "" + +#: ../templates/admin-about.php:10 +#, php-format +msgid "It is a cataloging tool for %sWordPress%s that allows you to easily manage a list of items with automatically generated thumbnail images." +msgstr "" + +#: ../templates/admin-about.php:11 +#, php-format +msgid "Use of CataBlog is completely free, even commercial sites for now, all that I ask is that you rate the plugin at the %sWordPress Plugin Repository%s." +msgstr "" + +#: ../templates/admin-about.php:15 +#, php-format +msgid "%sCSS Modifications:%s You may always override CataBlog's CSS settings to create custom looks. If you make a catablog.css file in your active theme's directory it will be automatically loaded and applied. This makes it easy to prepare your custom theme for CataBlog integration and will also protect your customization for future version to come." +msgstr "" + +#: ../templates/admin-about.php:20 +msgid "Server Statistics" +msgstr "" + +#: ../templates/admin-about.php:38 +msgid "CataBlog Version:" +msgstr "" + +#: ../templates/admin-about.php:39 +msgid "MySQL Version:" +msgstr "" + +#: ../templates/admin-about.php:40 +msgid "PHP Version:" +msgstr "" + +#: ../templates/admin-about.php:41 +msgid "PHP Memory Usage:" +msgstr "" + +#: ../templates/admin-about.php:42 +msgid "PHP Memory Limit:" +msgstr "" + +#: ../templates/admin-about.php:43 +msgid "Max Uploaded File Size:" +msgstr "" + +#: ../templates/admin-about.php:44 +msgid "Max Post size:" +msgstr "" + +#: ../templates/admin-about.php:45 +msgid "Thumbnail Disc Usage:" +msgstr "" + +#: ../templates/admin-about.php:46 +msgid "Full Size Disc Usage:" +msgstr "" + +#: ../templates/admin-about.php:47 +msgid "Original Upload Disc Usage:" +msgstr "" + +#: ../templates/admin-about.php:48 +msgid "Total Disc Usage:" +msgstr "" + +#: ../templates/admin-contextual-help.php:11 +msgid "You may edit your catalog entry as you see fit in this panel." +msgstr "" + +#: ../templates/admin-contextual-help.php:12 +msgid "Notice that the description accepts HTML code. This makes it easy to refine your catalog layout inside your description." +msgstr "" + +#: ../templates/admin-contextual-help.php:17 +msgid "CataBlog is a comprehensive and easy to use cataloging system for WordPress. " +msgstr "" + +#: ../templates/admin-contextual-help.php:19 +msgid "Get started by making your first catalog item, click the Add New button near the page title. " +msgstr "" + +#: ../templates/admin-contextual-help.php:22 +#, php-format +msgid "You may learn more about CataBlog at %scatablog.illproductions.com%s. " +msgstr "" + +#: ../templates/admin-contextual-help.php:25 +#, php-format +msgid "A lot of time and effort has gone into creating this plugin, %splease donate%s to Zach and help the continued development of CataBlog." +msgstr "" + +#: ../templates/admin-contextual-help.php:34 +msgid "To create a new catalog entry first upload an image by selecting a file and then clicking the upload button. " +msgstr "" + +#: ../templates/admin-contextual-help.php:35 +msgid "After the upload is successful a new catalog entry will be generated with the name of the file you uploaded. " +msgstr "" + +#: ../templates/admin-contextual-help.php:44 +msgid "CataBlog offer many options that let you modify your catalog and its appearance." +msgstr "" + +#: ../templates/admin-contextual-help.php:52 +msgid "Please make sure to support the plugin author by donating." +msgstr "" + +#: ../templates/admin-contextual-help.php:60 +msgid "Your CataBlog originals upload folder is being scanned for any files that are not currently in the database." +msgstr "" + +#: ../templates/admin-contextual-help.php:68 +msgid "CataBlog is regenerating all the images in the CataBlog thumbnail and LightBox folders." +msgstr "" + +#: ../templates/admin-contextual-help.php:76 +msgid "CataBlog is being completely removed, afterwards you may go back to the library view to reinstall the default settings." +msgstr "" + +#: ../templates/admin-contextual-help.php:77 +msgid "If you wish to completely remove CataBlog, do not go to the library view, instead disable CataBlog after this is complete." +msgstr "" + +#: ../templates/admin-discfull.php:4 +msgid "Storage Space Full!" +msgstr "" + +#: ../templates/admin-discfull.php:9 +msgid "CataBlog can't make a new entry because your site has run out of storage space." +msgstr "" + +#: ../templates/admin-discfull.php:13 +#, php-format +msgid "You are currently using %sMB of %sMB of storage space." +msgstr "" + +#: ../templates/admin-discfull.php:16 +msgid "Please talk to your WordPress Administrator to have more space allocated to your site or delete some previous uploaded content." +msgstr "" + +#: ../templates/admin-discfull.php:21 +msgid "Media" +msgstr "" + +#: ../templates/admin-edit.php:13 +msgid "Main" +msgstr "" + +#: ../templates/admin-edit.php:17 +msgid "Images" +msgstr "" + +#: ../templates/admin-edit.php:26 +msgid "Replace Main Image" +msgstr "" + +#: ../templates/admin-edit.php:28 +msgid "Add Sub Image" +msgstr "" + +#: ../templates/admin-edit.php:32 +msgid "JavaScript is required to add images." +msgstr "" + +#: ../templates/admin-edit.php:43 +msgid "Delete this sub image permanently." +msgstr "" + +#: ../templates/admin-edit.php:48 +msgid "No Sub Images" +msgstr "" + +#: ../templates/admin-edit.php:57 +#: ../templates/admin-list.php:11 +#: ../templates/admin-list.php:48 +msgid "Title" +msgstr "" + +#: ../templates/admin-edit.php:66 +#: ../templates/admin-list.php:17 +#: ../templates/admin-list.php:50 +msgid "Description" +msgstr "" + +#: ../templates/admin-edit.php:66 +msgid "accepts html formatting" +msgstr "" + +#: ../templates/admin-edit.php:79 +#, php-format +msgid "or %sback to list%s" +msgstr "" + +#: ../templates/admin-edit.php:93 +msgid "Attributes" +msgstr "" + +#: ../templates/admin-edit.php:96 +#, php-format +msgid "Date: %s" +msgstr "" + +#: ../templates/admin-edit.php:97 +#: ../templates/admin-edit.php:108 +msgid "edit" +msgstr "" + +#: ../templates/admin-edit.php:102 +msgid "Format: YYYY-MM-DD HH:MM:SS" +msgstr "" + +#: ../templates/admin-edit.php:107 +#, php-format +msgid "Order: %s" +msgstr "" + +#: ../templates/admin-edit.php:113 +msgid "Enter a integer value to be assigned as this catalog item's order. There is only one order value per catalog item." +msgstr "" + +#: ../templates/admin-edit.php:120 +msgid "Fields" +msgstr "" + +#: ../templates/admin-edit.php:123 +#: ../templates/admin-list.php:18 +#: ../templates/admin-list.php:51 +msgid "Link" +msgstr "" + +#: ../templates/admin-edit.php:124 +#: ../templates/admin-edit.php:133 +#: ../templates/admin-edit.php:143 +msgid "help" +msgstr "" + +#: ../templates/admin-edit.php:128 +msgid "Enter a relative or absolute web address to make this item a hyperlink. External links should start with http://." +msgstr "" + +#: ../templates/admin-edit.php:132 +msgid "Item Price" +msgstr "" + +#: ../templates/admin-edit.php:137 +msgid "If your catalog item has a price above zero, it will generate a buy now button you may display." +msgstr "" + +#: ../templates/admin-edit.php:142 +#: ../templates/admin-list.php:20 +#: ../templates/admin-list.php:53 +msgid "Product Code" +msgstr "" + +#: ../templates/admin-edit.php:147 +msgid "This field is intended for usage as a product code for the PayPal buy now buttons." +msgstr "" + +#: ../templates/admin-edit.php:152 +#, php-format +msgid "If you want to make a shopping cart you should make sure you are using a %sStore Template%s that uses these values." +msgstr "" + +#: ../templates/admin-edit.php:158 +#: ../templates/admin-list.php:22 +#: ../templates/admin-list.php:55 +msgid "Categories" +msgstr "" + +#: ../templates/admin-edit.php:166 +msgid "You currently have no categories." +msgstr "" + +#: ../templates/admin-edit.php:176 +#: ../templates/admin-edit.php:410 +msgid "[DELETE]" +msgstr "" + +#: ../templates/admin-edit.php:188 +msgid "You must have a JavaScript enabled browser to create new categories." +msgstr "" + +#: ../templates/admin-edit.php:194 +msgid "New" +msgstr "" + +#: ../templates/admin-edit.php:199 +msgid "Put your items into categories to easily display subsets of your catalog on different pages." +msgstr "" + +#: ../templates/admin-edit.php:200 +msgid "ex:" +msgstr "" + +#: ../templates/admin-edit.php:218 +#: ../templates/admin-edit.php:242 +#: ../templates/admin-library.php:139 +msgid "[close]" +msgstr "" + +#: ../templates/admin-edit.php:219 +msgid "Upload A New Sub Image" +msgstr "" + +#: ../templates/admin-edit.php:222 +#: ../templates/admin-edit.php:246 +msgid "Save Other Changes Before Uploading A New Image." +msgstr "" + +#: ../templates/admin-edit.php:229 +#: ../templates/admin-edit.php:252 +#: ../templates/admin-new.php:21 +msgid "Upload" +msgstr "" + +#: ../templates/admin-edit.php:231 +msgid "Select an image to add as a sub image, this upload will not replace this item's main image." +msgstr "" + +#: ../templates/admin-edit.php:232 +#: ../templates/admin-edit.php:255 +#: ../templates/admin-new.php:28 +msgid "You may upload JPEG, GIF and PNG graphic formats only." +msgstr "" + +#: ../templates/admin-edit.php:233 +#: ../templates/admin-edit.php:256 +#: ../templates/admin-new.php:29 +msgid "No animated GIFs please." +msgstr "" + +#: ../templates/admin-edit.php:243 +msgid "Replace The Main Image" +msgstr "" + +#: ../templates/admin-edit.php:254 +msgid "Select an image on your computer to upload and replace this item's main image with." +msgstr "" + +#: ../templates/admin-edit.php:257 +msgid "This will replace the main image, forever deleting the current main image." +msgstr "" + +#: ../templates/admin-edit.php:325 +msgid "Are you sure you want to delete this category? You can not undo this." +msgstr "" + +#: ../templates/admin-edit.php:386 +msgid "Please make sure to enter a category name" +msgstr "" + +#: ../templates/admin-edit.php:452 +msgid "Are you sure you want to permanently delete this image?" +msgstr "" + +#: ../templates/admin-grid.php:5 +#: ../templates/admin-list.php:66 +msgid "No catalog items found" +msgstr "" + +#: ../templates/admin-grid.php:8 +#: ../templates/admin-list.php:69 +msgid "Use the category drop down above to switch category views." +msgstr "" + +#: ../templates/admin-import.php:4 +msgid "CataBlog Import Results" +msgstr "" + +#: ../templates/admin-import.php:8 +msgid "Import Console" +msgstr "" + +#: ../templates/admin-import.php:12 +msgid "You must select a valid XML or CSV file to be used for import." +msgstr "" + +#: ../templates/admin-import.php:15 +#, php-format +msgid "You may choose to read more about %simporting and exporting data from CataBlog%s." +msgstr "" + +#: ../templates/admin-import.php:17 +#, php-format +msgid "Once you have fixed your file and its format please %stry again%s." +msgstr "" + +#: ../templates/admin-import.php:23 +msgid "removing catalog items..." +msgstr "" + +#: ../templates/admin-import.php:28 +msgid "Success: All catalog items removed successfully" +msgstr "" + +#: ../templates/admin-import.php:30 +msgid "removing catalog categories..." +msgstr "" + +#: ../templates/admin-import.php:32 +msgid "Success: All catalog categories removed successfully" +msgstr "" + +#: ../templates/admin-import.php:34 +msgid "DataBase Cleared Successfully" +msgstr "" + +#: ../templates/admin-library.php:19 +msgid "You must have a JavaScript enabled browser for bulk actions and to change the order of your items." +msgstr "" + +#: ../templates/admin-library.php:34 +msgid "Bulk Actions" +msgstr "" + +#: ../templates/admin-library.php:35 +msgid "Edit Categories" +msgstr "" + +#: ../templates/admin-library.php:36 +#: ../templates/admin-list.php:91 +msgid "Delete" +msgstr "" + +#: ../templates/admin-library.php:39 +msgid "Apply" +msgstr "" + +#: ../templates/admin-library.php:44 +msgid "View" +msgstr "" + +#: ../templates/admin-library.php:47 +msgid "All Categories" +msgstr "" + +#: ../templates/admin-library.php:66 +#: ../templates/admin-library.php:115 +#, php-format +msgid "%s items" +msgstr "" + +#: ../templates/admin-library.php:70 +#: ../templates/admin-library.php:117 +msgid "Go to the first page" +msgstr "" + +#: ../templates/admin-library.php:71 +#: ../templates/admin-library.php:118 +msgid "Go to the previous page" +msgstr "" + +#: ../templates/admin-library.php:75 +#: ../templates/admin-library.php:122 +msgid "Current page" +msgstr "" + +#: ../templates/admin-library.php:76 +#: ../templates/admin-library.php:123 +msgid "of" +msgstr "" + +#: ../templates/admin-library.php:80 +#: ../templates/admin-library.php:127 +msgid "Go to the next page" +msgstr "" + +#: ../templates/admin-library.php:81 +#: ../templates/admin-library.php:128 +msgid "Go to the last page" +msgstr "" + +#: ../templates/admin-library.php:92 +msgid "List View" +msgstr "" + +#: ../templates/admin-library.php:95 +msgid "Grid View" +msgstr "" + +#: ../templates/admin-library.php:140 +msgid "Edit Multiple Catalog Item's Categories" +msgstr "" + +#: ../templates/admin-library.php:145 +msgid "Add to categories" +msgstr "" + +#: ../templates/admin-library.php:150 +#: ../templates/admin-library.php:170 +msgid "You have no categories." +msgstr "" + +#: ../templates/admin-library.php:165 +msgid "Remove from categories" +msgstr "" + +#: ../templates/admin-library.php:190 +msgid "Change Multiple Categories" +msgstr "" + +#: ../templates/admin-library.php:192 +msgid "Select the categories you would like each selected item to be part of by checking their boxes." +msgstr "" + +#: ../templates/admin-library.php:193 +msgid "After the bulk edit, the selected items will be in only the categories selected above." +msgstr "" + +#: ../templates/admin-library.php:216 +msgid "Please select a bulk action to apply." +msgstr "" + +#: ../templates/admin-library.php:223 +msgid "Please select at least one catalog item first." +msgstr "" + +#: ../templates/admin-library.php:242 +msgid "Are you sure you want to delete multiple items?" +msgstr "" + +#: ../templates/admin-library.php:271 +msgid "Are you sure you want to permanently delete this catalog items?" +msgstr "" + +#: ../templates/admin-list.php:5 +#: ../templates/admin-list.php:47 +msgid "Image" +msgstr "" + +#: ../templates/admin-list.php:19 +#: ../templates/admin-list.php:52 +msgid "Price" +msgstr "" + +#: ../templates/admin-list.php:28 +#: ../templates/admin-list.php:56 +msgid "Order" +msgstr "" + +#: ../templates/admin-list.php:38 +#: ../templates/admin-list.php:57 +msgid "Date" +msgstr "" + +#: ../templates/admin-list.php:89 +msgid "Edit" +msgstr "" + +#: ../templates/admin-new.php:13 +msgid "Upload An Image To Create A New Catalog Item" +msgstr "" + +#: ../templates/admin-new.php:14 +msgid "Upload Multiple Images" +msgstr "" + +#: ../templates/admin-new.php:24 +#, php-format +msgid "Maximum upload file size: %sB" +msgstr "" + +#: ../templates/admin-new.php:27 +msgid "Select images on your computer to upload and make new catalog items with." +msgstr "" + +#: ../templates/admin-new.php:65 +#, php-format +msgid "currently uploading %s of %s" +msgstr "" + +#: ../templates/admin-new.php:95 +msgid "Select Images" +msgstr "" + +#: ../templates/admin-new.php:128 +msgid "Cancel Upload" +msgstr "" + +#: ../templates/admin-options.php:8 +msgid "You must have a JavaScript enabled browser to change the CataBlog options." +msgstr "" + +#: ../templates/admin-options.php:17 +#: ../templates/admin-regenerate.php:22 +#: ../templates/admin-rescan.php:24 +msgid "Processing Thumbnail Images..." +msgstr "" + +#: ../templates/admin-options.php:24 +msgid "Waiting For LightBox Rendering To Finish..." +msgstr "" + +#: ../templates/admin-options.php:31 +msgid "Thumbnails" +msgstr "" + +#: ../templates/admin-options.php:32 +msgid "LightBox" +msgstr "" + +#: ../templates/admin-options.php:33 +msgid "Public" +msgstr "" + +#: ../templates/admin-options.php:36 +msgid "Template" +msgstr "" + +#: ../templates/admin-options.php:37 +msgid "Store" +msgstr "" + +#: ../templates/admin-options.php:38 +msgid "Export" +msgstr "" + +#: ../templates/admin-options.php:39 +msgid "Import" +msgstr "" + +#: ../templates/admin-options.php:40 +msgid "Systems" +msgstr "" + +#: ../templates/admin-options.php:47 +msgid "Thumbnail Size:" +msgstr "" + +#: ../templates/admin-options.php:49 +#: ../templates/admin-options.php:98 +msgid "pixels" +msgstr "" + +#: ../templates/admin-options.php:51 +msgid "Your thumbnail size must be a positive integer." +msgstr "" + +#: ../templates/admin-options.php:52 +msgid "this will change the thumbnail size of all your catalog items." +msgstr "" + +#: ../templates/admin-options.php:56 +msgid "Keep Aspect Ratio:" +msgstr "" + +#: ../templates/admin-options.php:59 +msgid "this will keep the aspect ratio of the original image in your thumbnails, using the background color to fill in the empty space." +msgstr "" + +#: ../templates/admin-options.php:62 +msgid "Thumbnail Background Color:" +msgstr "" + +#: ../templates/admin-options.php:65 +msgid "Select a Color" +msgstr "" + +#: ../templates/admin-options.php:70 +msgid "Thumbnail Preview" +msgstr "" + +#: ../templates/admin-options.php:83 +msgid "Enable LightBox:" +msgstr "" + +#: ../templates/admin-options.php:85 +msgid "Load the necessary javascript libraries to enlarge an image thumbnail with the LightBox effect." +msgstr "" + +#: ../templates/admin-options.php:90 +msgid "Render a new image to be used for the lightbox:" +msgstr "" + +#: ../templates/admin-options.php:92 +msgid "check this box to render a similarly sized image for each catalog item to be used with the LightBox." +msgstr "" + +#: ../templates/admin-options.php:96 +msgid "LightBox Size:" +msgstr "" + +#: ../templates/admin-options.php:99 +msgid "Your lightbox size must be a positive integer." +msgstr "" + +#: ../templates/admin-options.php:100 +msgid "This is the maximum length of either the height or width, depending on whichever is longer in the original uploaded image." +msgstr "" + +#: ../templates/admin-options.php:104 +msgid "LightBox jQuery Selector:" +msgstr "" + +#: ../templates/admin-options.php:107 +msgid "This lets you modify the selector used by jQuery to attach the LightBox to image thumbnails. The default value is: .catablog-image" +msgstr "" + +#: ../templates/admin-options.php:121 +msgid "Enable Individual Pages and Category Archives:" +msgstr "" + +#: ../templates/admin-options.php:123 +msgid "If this is checked, each and every catalog item will get its very own page, complete with permalink." +msgstr "" + +#: ../templates/admin-options.php:124 +msgid "Also, each CataBlog Category will have their own archive page automatically generated." +msgstr "" + +#: ../templates/admin-options.php:125 +#, php-format +msgid "These CataBlog Category pages can easily be added to your %sMenus%s with the Screen Options panel." +msgstr "" + +#: ../templates/admin-options.php:129 +msgid "Individual Pages Slug:" +msgstr "" + +#: ../templates/admin-options.php:131 +msgid "This is the identifying slug your blog will use to create your individual catalog item pages." +msgstr "" + +#: ../templates/admin-options.php:135 +msgid "Category Pages Slug:" +msgstr "" + +#: ../templates/admin-options.php:137 +msgid "This is the identifying slug your blog will use to create your catalog archive pages." +msgstr "" + +#: ../templates/admin-options.php:143 +msgid "Catalog Slugs Warning" +msgstr "" + +#: ../templates/admin-options.php:144 +#, php-format +msgid "Please make sure you do not set either of your catalog slugs to a %sWordPress Reserved Term%s." +msgstr "" + +#: ../templates/admin-options.php:145 +msgid "These labels must also be URL friendly, so they may be transformed from your original input." +msgstr "" + +#: ../templates/admin-options.php:149 +msgid "Changing Catalog Slugs" +msgstr "" + +#: ../templates/admin-options.php:150 +#, php-format +msgid "If you change these values, please immediately visit the %sPermalinks%s panel to update your rewrite rules." +msgstr "" + +#: ../templates/admin-options.php:151 +msgid "Your individual catalog item pages and archives will not work until you have updated your rewrite rules." +msgstr "" + +#: ../templates/admin-options.php:161 +msgid "Link Target:" +msgstr "" + +#: ../templates/admin-options.php:164 +msgid "The link target setting will set the target attribute of all the catalog title links." +msgstr "" + +#: ../templates/admin-options.php:165 +#: ../templates/admin-options.php:173 +msgid "examples:" +msgstr "" + +#: ../templates/admin-options.php:169 +msgid "Link Relationship:" +msgstr "" + +#: ../templates/admin-options.php:172 +msgid "The link relationship will set the rel attribute of all the catalog title links." +msgstr "" + +#: ../templates/admin-options.php:183 +msgid "Enable WordPress Filters:" +msgstr "" + +#: ../templates/admin-options.php:186 +msgid "Enable the standard WordPress filters for your catalog item's description." +msgstr "" + +#: ../templates/admin-options.php:187 +msgid "This allows you to use ShortCodes and media embeds inside your catalog item descriptions." +msgstr "" + +#: ../templates/admin-options.php:188 +msgid "Please do not use the CataBlog ShortCode inside a catalog item's description." +msgstr "" + +#: ../templates/admin-options.php:194 +msgid "Render Line Breaks:" +msgstr "" + +#: ../templates/admin-options.php:197 +#, php-format +msgid "Filter your catalog item's description through the standard PHP function %s." +msgstr "" + +#: ../templates/admin-options.php:198 +msgid "This will insert HTML line breaks before all new lines in your catalog descriptions." +msgstr "" + +#: ../templates/admin-options.php:199 +msgid "Turn this off if unwanted line breaks are being rendered on your page." +msgstr "" + +#: ../templates/admin-options.php:214 +#: ../templates/admin-options.php:257 +msgid "Load Template" +msgstr "" + +#: ../templates/admin-options.php:216 +#: ../templates/admin-options.php:259 +msgid "Could not locate the views directory. Please reinstall CataBlog." +msgstr "" + +#: ../templates/admin-options.php:225 +msgid "You may change the html code rendered by CataBlog here, this allows you to make fundamental changes to how catalogs will appear in your posts. You may choose a template from the drop down menu at top and then click Load Template to load it into the template code. If you want to setup a photo gallery I would recommend that you load the Gallery template and then click save below. To setup a shopping cart you should load the Default Template code and then load a Store Template." +msgstr "" + +#: ../templates/admin-options.php:230 +msgid "Don't forget to click Save Changes at the bottom of the page to finalize your changes and use the new code for your blog." +msgstr "" + +#: ../templates/admin-options.php:239 +msgid "PayPal Account Email Address:" +msgstr "" + +#: ../templates/admin-options.php:244 +#, php-format +msgid "Enter in an email address here that has been registered with %sPayPal%s and choose a Buy Now Template below to setup a store. You may then give items a price and product code. When an item has a price above zero a 'Buy Now' button will appear under the description of that CataBlog item." +msgstr "" + +#: ../templates/admin-options.php:265 +msgid "You may change the html code rendered for the Buy Now button here. All value tokens are available here too, so place the title, description or any other values you may want to use from the current catalog item in this code as well." +msgstr "" + +#: ../templates/admin-options.php:284 +msgid "You may export your CataBlog data to a XML or CSV file which may be used to backup and protect your work. The XML or CSV file is a simple transfer of the database information itself and the images are not included in this backup. To backup your images follow the directions at the bottom of the page." +msgstr "" + +#: ../templates/admin-options.php:290 +msgid "Save XML BackUp File" +msgstr "" + +#: ../templates/admin-options.php:294 +msgid "Save CSV BackUp File" +msgstr "" + +#: ../templates/admin-options.php:301 +#, php-format +msgid "You must have the function %sfputcsv()%s available on your web server's version of PHP for CSV export to work." +msgstr "" + +#: ../templates/admin-options.php:303 +msgid "Please contact your server administrator for more information regarding this error." +msgstr "" + +#: ../templates/admin-options.php:310 +msgid "Backing Up Images:" +msgstr "" + +#: ../templates/admin-options.php:311 +msgid "Please copy the catablog directory to a secure location." +msgstr "" + +#: ../templates/admin-options.php:312 +msgid "The directory for this WordPress blog can be located on your web server at:" +msgstr "" + +#: ../templates/admin-options.php:323 +msgid "Import XML/CSV Data" +msgstr "" + +#: ../templates/admin-options.php:331 +msgid "Replace All Data:" +msgstr "" + +#: ../templates/admin-options.php:334 +msgid "Import CataBlog Data" +msgstr "" + +#: ../templates/admin-options.php:338 +msgid "You must have the Simple XML Library installed on your web server's version of PHP for XML imports to work. Please contact your server administrator for more information regarding this error." +msgstr "" + +#: ../templates/admin-options.php:343 +msgid "To import data into your catalog you simply select a XML or CVS file on your hard drive and click the Import CataBlog Data button. You may choose to completely erase all your data before importing by checking the Replace All Data checkbox.
    Keep in mind, this does not import or delete images." +msgstr "" + +#: ../templates/admin-options.php:346 +#, php-format +msgid "To import images you should upload them to the originals directory, located at: %s. Once you load the XML or CVS file and the images into the originals directory everything should be set after you %sRegenerate All Images%s in the systems tab." +msgstr "" + +#: ../templates/admin-options.php:350 +#, php-format +msgid "You may view XML and CSV examples in the %simport/export documentation%s." +msgstr "" + +#: ../templates/admin-options.php:364 +msgid "CataBlog Upload Folders are Unlocked" +msgstr "" + +#: ../templates/admin-options.php:366 +msgid "CataBlog Upload Folders are Locked" +msgstr "" + +#: ../templates/admin-options.php:374 +msgid "Lock Folders" +msgstr "" + +#: ../templates/admin-options.php:376 +msgid "Unlock Folders" +msgstr "" + +#: ../templates/admin-options.php:380 +#, php-format +msgid "You may lock and unlock your catablog folders with these controls. The idea is to unlock the folders, use your FTP client to upload your original files and then lock the folders to protect them from hackers. After unlocking your directories please upload the original files directly into the %s folder without replacing it. Do not replace any of the CataBlog created folders. You should then regenerate all your thumbnail and lightbox pictures below. These controls may not work on a Windows server, it depends on your servers PHP settings and if the chmod command is supported." +msgstr "" + +#: ../templates/admin-options.php:385 +msgid "Rescan Original Image Folder" +msgstr "" + +#: ../templates/admin-options.php:387 +msgid "Rescan Original Images Folder Now" +msgstr "" + +#: ../templates/admin-options.php:389 +msgid "Click the Rescan Now button to rescan the original catablog images folder and automatically import any new jpeg, gif or png images. It works simply by making a list of all the image names in the database and then compares each file's name in the originals folder against the list of image names in the database. Any newly discovered images will automatically be made into a new catalog item. You should Regenerate Images after running this command." +msgstr "" + +#: ../templates/admin-options.php:394 +msgid "Regenerate Images" +msgstr "" + +#: ../templates/admin-options.php:396 +msgid "Regenerate All Images Now" +msgstr "" + +#: ../templates/admin-options.php:398 +msgid "Click the Regenerate Now button to recreate all the thumbnail and lightbox images that CataBlog has generated over the time you have used it. This is also useful when restoring exported data from another version of CataBlog. after you have uploaded your original images you must regenerate your images so they display properly." +msgstr "" + +#: ../templates/admin-options.php:403 +msgid "Remove CataBlog" +msgstr "" + +#: ../templates/admin-options.php:405 +msgid "Remove All CataBlog Data" +msgstr "" + +#: ../templates/admin-options.php:407 +msgid "Delete your entire catalog, deleting all photos and custom data permanently. Sometimes you can use this to fix an improper installation." +msgstr "" + +#: ../templates/admin-options.php:416 +#, php-format +msgid "or %sundo current changes%s" +msgstr "" + +#: ../templates/admin-options.php:682 +#: ../templates/admin-regenerate.php:43 +#: ../templates/admin-rescan.php:49 +msgid "Please allow the rendering to complete before leaving this page. Click cancel to go back and let the rendering complete." +msgstr "" + +#: ../templates/admin-options.php:687 +msgid "Image rendering is not complete, you should let image rendering complete before leaving this page." +msgstr "" + +#: ../templates/admin-regenerate.php:4 +msgid "CataBlog Images Rendering" +msgstr "" + +#: ../templates/admin-regenerate.php:8 +#: ../templates/admin-rescan.php:18 +msgid "You must have a JavaScript enabled browser to regenerate your images." +msgstr "" + +#: ../templates/admin-regenerate.php:15 +msgid "Your CataBlog library is empty, there are no images to render." +msgstr "" + +#: ../templates/admin-regenerate.php:28 +#: ../templates/admin-rescan.php:30 +msgid "Waiting For Thumbnail Rendering To Finish..." +msgstr "" + +#: ../templates/admin-regenerate.php:33 +msgid "Rendering all images from their original files, this may take awhile so please be patient." +msgstr "" + +#: ../templates/admin-regenerate.php:41 +msgid "Image rendering is now complete, you may now go to any other admin panel you may want." +msgstr "" + +#: ../templates/admin-remove.php:4 +msgid "CataBlog Remove" +msgstr "" + +#: ../templates/admin-remove.php:8 +msgid "You must have a JavaScript enabled browser to remove your catalog installation, sorry..." +msgstr "" + +#: ../templates/admin-remove.php:16 +msgid "Removing CataBlog..." +msgstr "" + +#: ../templates/admin-rescan.php:4 +msgid "CataBlog Rescan Original Images Results" +msgstr "" + +#: ../templates/admin-rescan.php:10 +msgid "No new images where found in your originals folders." +msgstr "" + +#: ../templates/admin-rescan.php:11 +msgid "Please make sure that you have successfully uploaded new images via FTP before running this command." +msgstr "" + +#: ../templates/admin-rescan.php:12 +msgid "New images should be uploaded into the following folder:" +msgstr "" + +#: ../templates/admin-rescan.php:36 +#, php-format +msgid "New Image Found, creating catalog item %s" +msgstr "" + +#: ../templates/admin-screen-options-library.php:37 +#: ../templates/admin-screen-options-library.php:46 +msgid "Show on screen" +msgstr "" + +#: ../templates/admin-screen-options-library.php:49 +msgid "Catalog items" +msgstr "" + diff --git a/src/wp-content/plugins/catablog/localization/readme.txt b/src/wp-content/plugins/catablog/localization/readme.txt new file mode 100644 index 0000000..760deba --- /dev/null +++ b/src/wp-content/plugins/catablog/localization/readme.txt @@ -0,0 +1,17 @@ +This file contains instructions and information for people who want to translate CataBlog into another local. + +Please read this page to learn how to translate a file +http://codex.wordpress.org/Translating_WordPress + +The included catablog.po file should be duplicated and renamed with the appropriate localization suffix. + +When you are done, please email me the translated PO and MO files. + +Please feel free to contact me with questions or send me your translation files, so I may integrate it into the next version of CataBlog. +http://www.illproductions.com/contact/ + + + +Thanks for your support, + + macguru2000 \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/readme.txt b/src/wp-content/plugins/catablog/readme.txt new file mode 100644 index 0000000..49a82a1 --- /dev/null +++ b/src/wp-content/plugins/catablog/readme.txt @@ -0,0 +1,294 @@ +=== CataBlog === +Contributors: macguru2000 +Donate link: http://catablog.illproductions.com/donate/ +Tags: plugin, admin, image, images, posts, Post, links, catalog, gallery, portfolio, product catalog, discography, library, collection, store, organize, media, photo, thumbnail, product, listing, list, BuddyPress, ecommerce, Spanish, German, Swedish +Requires at least: 3.1 +Tested up to: 3.2 +Stable tag: 1.2.9.7 + +CataBlog is a comprehensive and effortless tool that allows you to create catalogs, stores and galleries for your blog. + +== Description == + +CataBlog allows you to catalog pretty much anything you would want and share it through your blog in a simple but elegant gallery. Upload images, give them titles, links, descriptions and then save them into your catalog. Use categories to organize and filter your catalog items into multiple different catalogs. Show off your photos in high resolution with the LightBox effect, perfect for simple galleries. Easy, intuitive and smart design makes it trivial to keep track of all your different catalogs and create amazing e-stores, galleries, lists and more. + +PLEASE DO NOT EMAIL ME DIRECTLY + +Instead post your questions and comments on the appropriate forums. If you have a technical support question, please [write a new topic](http://wordpress.org/tags/catablog?forum_id=10#postform "Create new support thread for CataBlog") on the wordpress.org forums. If you want to join the discussion and suggest new features or development paths, feel free to comment on relevant posts at the [blog](http://catablog.illproductions.com/ "catablog.illproductions.com"). You may also contribute to the community on the [facebook page](http://www.facebook.com/pages/CataBlog/183454038341567 "CataBlog Facebook Page"). + +Highlighted Features: + +* Generate individual and category pages for your entire catalog. +* Filter by multiple categories with one ShortCode. +* Localized for Spanish, Swedish and German. +* Sort your catalog by order, title, date or randomly. +* Add multiple images to a catalog item. +* Control exactly how your catalog HTML code is rendered. +* Import and Export your catalog in XML and CSV formats. +* Compatible with WordPress MultiSite and Network Activation. +* Upload images with FTP and automatically import new files into the catalog. +* The Options Page is well organized and supports many configurable settings. +* Easy management of your catalog with superiorly designed admin controls. + +Please remember that CataBlog is written, maintained, supported and documented by Zachary Segal. CataBlog is free software, and as such comes with absolutely no warranty or guarantee of service. Please feel free to visit http://catablog.illproductions.com and http://www.illproductions.com for more information about CataBlog and Zachary anytime. + +== Installation == + +1. Make sure your server is running `PHP 5` or better and has the `GD` extension. +1. Upload `catablog` to the `/wp-content/plugins/` directory. +1. Activate the plugin through the `Plugins` menu in WordPress. +1. If you want you may also network activate CataBlog. +1. Create catalog items by uploading image files. +1. Sprinkle the `[catablog]` [Shortcode](http://codex.wordpress.org/Shortcode_API "The Shortcode API") throughout your blog to show your catalog. +1. You may also use the template tag, which operates similarly to the Shortcode: `` + +== Frequently Asked Questions == + += Where is the documentation = + +[Click Here](http://catablog.illproductions.com/documentation/introduction-and-installation/ "CataBlog Documentation") for the official documentation. + += Something is broken, how can I get help = + +1. Read all the documentation at the [official blog](http://catablog.illproductions.com/ "catablog.illproductions.com"), this does get updated so check back frequently. +1. [Create a new thread](http://wordpress.org/tags/catablog?forum_id=10#postform "Create new support thread for CataBlog") on the wordpress.org forums and make sure to tag it with catablog. +1. Search the [official blog](http://catablog.illproductions.com/ "catablog.illproductions.com") for a post that is relevant to your question and write a comment with your question. + += What browsers do you support = + +The CataBlog Admin section is made and tested to work best with these browsers: + +1. Internet Explorer 9 +1. FireFox 4 +1. Safari 5 +1. Chrome 11 +1. JavaScript should be enabled for full support. + +The CataBlog LightBox and Templates are tested to work in these browsers: + +1. Internet Explorer 6, 7, 8 and 9 +1. Firefox 2, 3 and 4 +1. Safari and Chrome +1. JavaScript must be enabled for LightBox support. + += I installed CataBlog, now where is it? = + +Look for CataBlog in your WordPress Admin Menu on the bottom, underneath the Settings section. + += How do I add a new item to my catalog? = + +Login to the Admin Panel of your WordPress blog and go to the CataBlog section by clicking its icon below the Settings section. Now you can click "Add New" next to the page title or in the CataBlog menu itself. + += How do I customize my catalog's layout? = + +You can easily override CataBlog's CSS classes to create your own design and easily incorporate CataBlog into your site's layout. The recommended way to do this would be to create a catablog.css style file in your theme's directory and add your CSS override code in there. Read more about it at http://catablog.illproductions.com/documentation/displaying-your-catalog-in-posts/. + += Where can I learn more about CataBlog? = + +Go to http://catablog.illproductions.com, it is a place to learn and share more about your experiences with CataBlog. + +== Screenshots == + +1. Use the list view for a bird's eye of the entire catalog. +2. Use the grid view for bigger thumbnails and easier sorting. +3. Easy and familiar forms for making and editing catalog items. +4. Turn your catalog into a photo gallery using custom templates. +5. Display your catalog photos in high resolution with the LightBox. +6. CataBlog is now localized for Español. + +== Changelog == + += 1.2.9.7 = +* Fix: Multiple file uploads should not give 404 errors with certain WordPress setups. +* Fix: Only loads the flash upload javascript libraries when needed. + += 1.2.9.6 = +* Fix: Better error reporting for flash upload. + += 1.2.9.5 = +* New: Upload multiple files (JavaScript and Flash required). +* Fix: %PERMALINK% token now works. + += 1.2.9.2 = +* Fix: Swedish localization updated. + += 1.2.9.1 = +* Fix: Individual and CataBlog category pages now apply WordPress filters on the description if enabled. +* Fix: CataBlog Option tabs have been enlarged for German language. +* Fix: German localization updated. + += 1.2.9 = +* New: Public Catalog Items: create individual and category pages for your entire catalog. +* New: Screen Options for the Library page give users control over pagination and visible data. +* New: Add CataBlog menu to the WordPress Admin Bar. +* New: Preliminary contextual help added through out the plugins Admin panels. +* New: New template function to get a single catalog item by id, catablog_get_item($id). +* New: German localization. +* Fix: Setting or not setting the category parameter in the Shortcode should behave as expected. +* Fix: %TITLE-LINK% token now includes the title target and relationship settings. +* Fix: %LINK-TARGET% and %LINK-REL% tokens work once again. +* Fix: Image uploads no longer append a timestamp to the file name. +* Fix: Your theme's catablog.css file is once again automatically loaded. +* Fix: CataBlog class should no longer load if PHP is not at least version 5. + += 1.2.8 = +* Fix: Category filter is better checked before being attached to the catalog query. +* New: CataBlog Admin Library limits results to 20 catalog items at a time with pagination. +* New: %CATEGORY% token added for listing which categories a catalog item is in. +* New: %CATEGORY-SLUGS% token added to be used as category specific CSS classes. +* Fix: %DATE% token is now rendered in the blogs set date format. +* New: %TIME% token added for displaying the current catalog item's creation time. +* Fix: Minor UI tweaks, enhancements and localization file updated with new strings. +* New: Works with WordPress 3.2 beta 1. + += 1.2.7.1 = +* New: Swedish localization added + += 1.2.7 = +* New: Bulk Edit Item Categories. +* New: The PHP MultiByte String Library is no longer necessary to run CataBlog, but still recommended. +* New: Replace reset action with remove, allowing for an easy way to uninstall CataBlog. +* Fix: All Admin actions that edit your catalog now check for a security nonce. +* Fix: CSV Export no longer adds an extra header for the nonexistent id column. +* Fix: %MAIN-IMAGE% token will always be linked to its larger size image if the LightBox is enabled. +* Fix: %TITLE-LINK% token is now replaced correctly and in used in the default template. +* Fix: Refactored activation, installation and upgrade methods. +* Fix: LightBox console does not interfere with Internet Explorer browser. +* Fix: LightBox will attempt to load the original upload if the rendered image request returns not found. +* Fix: jQuery selector for the LightBox reverts to .catablog-image if empty. +* Fix: Incrementally better JavaScript performance in the Admin Panels. + += 1.2.6 = +* Fix: All plugin URLs will now be secure connections if the main page is securely loaded. +* Fix: Removed die() function from plugin completely, so changing your server configurations won't break your entire site in some fringe cases. +* Fix: Refactored the plugin activation function so it is more reliable. +* New: Plugin version number is now saved in your database to help the plugin update itself. + += 1.2.5.3 = +* Fix: Moved the PHP 5 requirement check out of the CataBlog class, allowing proper checking. +* Fix: Removed a deprecated token from the built in gallery template. +* Fix: Removed the catablog.pot file and instead will include a catablog.po file to be duplicated and translated. +* New: The entire CataBlog collection is now labeled 'Library' in the admin menu. +* New: Modified the installation instructions to include the server requirements. + += 1.2.5.2 = +* Fix: Fixed display of gallery template, especially in themes that have a #content element. +* Fix: CSS tweaks, still trying to make this as compatible as possible. + += 1.2.5.1 = +* Fix: Thumbnail in the edit catalog item form is now resized properly. +* Fix: Added a missing CSS class for img.catablog-image +* Fix: Fixed the CSS classes for sub images in the default template. +* Fix: The inline Stylesheet classes now have #content to help CSS overrides in certain themes. +* Fix: The LightBox check if the file extension is an image is no longer case sensitive. +* Fix: Secondary images now link to the proper full size images. +* Fix: The function for theme developers now has the new shortcode parameters. + += 1.2.5 = +* Important: Requires WordPress 3.1 or better. +* Important: Removed drag and drop reordering and exposed the order value for each catalog item. +* New: CataBlog ShortCode now supports multiple categories separated by commas. +* New: CataBlog ShortCode has a new operator parameter for querying categories. +* New: Sort your catalog by order, date, title or randomly. +* New: CataBlog ShortCode has sorting parameters. +* New: CataBlog ShortCode has a template parameter for overriding the system template. +* New: All messages and language may now be localized with included POT file. +* New: Preliminary Spanish localization included. +* New: Added Date field to the edit catalog item form. +* Fix: Removed restrictions on foreign characters for the category name. +* Fix: If image_rotate() is not an available function then CataBlog will not use it. +* Fix: Thumbnail backgrounds are now filled with a rectangle for better system compatibility. +* Fix: The Admin menu position of CataBlog no longer will conflict with certain setups. +* Fix: Removed all !important declarations from the catablog.css file. +* Fix: Optimized the templates for better theme compatibility. +* Fix: Optimized the edit catalog item form for multiple languages. +* Fix: When the link field is empty the %LINK% token will now return the full size image instead of #empty-link. +* Fix: LightBox is now designed to work best with anchor tags instead of image tags. +* Fix: You may now enable the LightBox library and the full size image rendering separately. +* Fix: You may change the jQuery selector used to find the LightBox images. +* Fix: Optimized front end CSS, instead of inline styles a stylesheet is generated in your pages head tag. + += 1.2 = +* New: Upload multiple images per catalog item now. +* New: Template HTML code uses a new catablog-images-column class to group images. +* New: Next and previous catalog item links in the edit panel. +* Fix: Import and export work better and give more feedback. +* Fix: When deleting items your catalog order is now re-indexed properly. +* Fix: CSS classes for front end are more verbose and flexible. +* Fix: ShortCode Category attribute is not case sensitive. +* Fix: Change order button is disabled when viewing a specific category because it didn't work. +* Fix: New 'Uncategorized' default category for all new items. + += 1.1.9 = +* Fix: Import no longer makes a sub image when the subimages field is empty. +* Fix: Category filter now finds the category slug for the passed in category name. +* Fix: New categories made by import or manually will all have a common prefix in their slug. +* Fix: Clear database when importing should always delete all catalog items now. + += 1.1.8 = +* Fix: Lots and lots of testing, hopefully everything is a little more stable. +* Fix: Database query reduction and optimization across application. +* Fix: Categories are now consistently set throughout entire plugin. +* Fix: Category slugs should now be completely unique, preventing taxonomy conflicts. +* Fix: Code cleaned up and removed old database upgrade methods. +* Fix: Various user interface enhancements and bug fixes. + += 1.1.7 = +* Fix: Single site versions of WordPress may now upload sub images. +* Fix: Reduced database load on frontend rendering. + += 1.1.6 = +* Fix: Better multiple image per catalog item support. +* Fix: catablog-image CSS class reverted to stop upgrade bugs. +* Fix: Default template reverted to stop upgrade bugs and new subimages template added. +* Fix: Optimized next and previous item links in edit panel. +* Fix: Long item descriptions are truncated in the admin list view. +* Fix: Successful form submissions now forwards you to the appropriate url. +* Fix: Lazy loaded thumbnail images in admin list view refined. +* Fix: Better file upload validation and error messages. +* New: List view now renders the description in html +* New: Template drop down menus now lists all files in the directory. + += 1.1.5 = +* New: Added multiple image per catalog item support. +* New: Thumbnail images in the admin list view are now lazy loaded. +* New: Navigation controls in the admin edit panel. +* Fix: Rendering thumbnail and fullsize images are now separate threads. + += 1.1 = +* New: Added CSV (comma separated values) support for importing and exporting catalog data. + += 1.0.2 = +* New: New grid template default for showing product grids that use the item's link. +* New: Title link relationship field now in title options. +* New: Support for inserting tab characters into the template code. +* New: Only load CataBlog frontend JavaScript and CSS on pages with the shortcode. +* New: Thumbnail preview now has an image in options panel. +* Fix: Updated gallery template default to link to the full size image. +* Fix: Title link target attribute is now free form text in title options. + += 1.0.1 = +* New: Added %IMAGE-FULLSIZE% token to the HTML template feature. + += 1.0 = +* New: Rescan the originals folder for new images to add to the database. +* New: Category filter in the CataBlog Admin Panel for quick filter previews. +* New: Grid mode for easier resorting and photo gallery usages. +* New: Bulk selection of items for the delete function. +* Fix: Small interface bugs in LightBox when using an old browser. + +== Upgrade Notice == + += 1.2.5 = + +LightBox JavaScript Library was upgraded, please upgrade your template code accordingly. +http://catablog.illproductions.com for more information and specifics. + += 1.2 = + +Category name and slug bug was fixed in this version, you may want to export and reimport after upgrading. +http://catablog.illproductions.com for more information and specifics. + += 0.9.5 = + +WARNING: Complete removal of all database manipulation code from CataBlog. This is very good, as all data storage and retrieval will be delegated by built in WordPress functions. To upgrade you will be required to Export and then Import your catalog data. After a successful Import, you may remove the old data from your database in the CataBlog > Options > Systems section . You should leave the images folder alone, as nothing much has changed when it comes to uploads and storage. diff --git a/src/wp-content/plugins/catablog/screenshot-1.jpg b/src/wp-content/plugins/catablog/screenshot-1.jpg new file mode 100644 index 0000000..bd68b9d Binary files /dev/null and b/src/wp-content/plugins/catablog/screenshot-1.jpg differ diff --git a/src/wp-content/plugins/catablog/screenshot-2.jpg b/src/wp-content/plugins/catablog/screenshot-2.jpg new file mode 100644 index 0000000..6a453d4 Binary files /dev/null and b/src/wp-content/plugins/catablog/screenshot-2.jpg differ diff --git a/src/wp-content/plugins/catablog/screenshot-3.jpg b/src/wp-content/plugins/catablog/screenshot-3.jpg new file mode 100644 index 0000000..4f054ba Binary files /dev/null and b/src/wp-content/plugins/catablog/screenshot-3.jpg differ diff --git a/src/wp-content/plugins/catablog/screenshot-4.jpg b/src/wp-content/plugins/catablog/screenshot-4.jpg new file mode 100644 index 0000000..8148962 Binary files /dev/null and b/src/wp-content/plugins/catablog/screenshot-4.jpg differ diff --git a/src/wp-content/plugins/catablog/screenshot-5.jpg b/src/wp-content/plugins/catablog/screenshot-5.jpg new file mode 100644 index 0000000..4afcf2b Binary files /dev/null and b/src/wp-content/plugins/catablog/screenshot-5.jpg differ diff --git a/src/wp-content/plugins/catablog/screenshot-6.jpg b/src/wp-content/plugins/catablog/screenshot-6.jpg new file mode 100644 index 0000000..3b89722 Binary files /dev/null and b/src/wp-content/plugins/catablog/screenshot-6.jpg differ diff --git a/src/wp-content/plugins/catablog/templates/admin-404.php b/src/wp-content/plugins/catablog/templates/admin-404.php new file mode 100644 index 0000000..7bc9d04 --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-404.php @@ -0,0 +1,14 @@ +
    + +

    +

    + + render_catablog_admin_message() ?> + +

    +
      +
    • +
    • +
    • +
    +
    \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/admin-about.php b/src/wp-content/plugins/catablog/templates/admin-about.php new file mode 100644 index 0000000..88f6ec6 --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-about.php @@ -0,0 +1,50 @@ +
    + +

    +

    + + render_catablog_admin_message() ?> + +

    + ", "", "", ""); ?> + ", ""); ?> + ", ""); ?> +

    + +

    + ", ""); ?> +

    + + + + + + + $value): ?> + + + + + + + +

    + +
    + + \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/admin-contextual-help.php b/src/wp-content/plugins/catablog/templates/admin-contextual-help.php new file mode 100644 index 0000000..c3081c6 --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-contextual-help.php @@ -0,0 +1,86 @@ +"; + $message .= __("You may edit your catalog entry as you see fit in this panel.", "catablog") . " "; + $message .= __("Notice that the description accepts HTML code. This makes it easy to refine your catalog layout inside your description.", "catablog") . " "; + $message .= "

    "; + } + else { + $message = "

    "; + $message .= __("CataBlog is a comprehensive and easy to use cataloging system for WordPress. ", "catablog"); + $message .= "

    "; + $message .= __("Get started by making your first catalog item, click the Add New button near the page title. ", "catablog"); + $message .= "

    "; + $message .= "

    "; + $message .= sprintf(__("You may learn more about CataBlog at %scatablog.illproductions.com%s. ", "catablog"), "", ""); + $message .= "

    "; + $message .= "

    "; + $message .= sprintf(__("A lot of time and effort has gone into creating this plugin, %splease donate%s to Zach and help the continued development of CataBlog.", "catablog"), "", ""); + $message .= "

    "; + } + echo $message; + break; + + + case 'catablog_page_catablog-upload': + $message = "

    "; + $message .= __("To create a new catalog entry first upload an image by selecting a file and then clicking the upload button. ", "catablog"); + $message .= __("After the upload is successful a new catalog entry will be generated with the name of the file you uploaded. ", "catablog"); + $message .= "

    "; + echo $message; + break; + + + + case 'catablog_page_catablog-options': + $message = "

    "; + $message .= __("CataBlog offer many options that let you modify your catalog and its appearance.", "catablog"); + $message .= "

    "; + echo $message; + break; + + + case 'catablog_page_catablog-about': + $message = "

    "; + $message .= __("Please make sure to support the plugin author by donating.", "catablog"); + $message .= "

    "; + echo $message; + break; + + + case 'admin_page_catablog-rescan-images': + $message = "

    "; + $message .= __("Your CataBlog originals upload folder is being scanned for any files that are not currently in the database.", "catablog"); + $message .= "

    "; + echo $message; + break; + + + case 'admin_page_catablog-regenerate-images': + $message = "

    "; + $message .= __("CataBlog is regenerating all the images in the CataBlog thumbnail and LightBox folders.", "catablog"); + $message .= "

    "; + echo $message; + break; + + + case 'admin_page_catablog-remove': + $message = "

    "; + $message .= __("CataBlog is being completely removed, afterwards you may go back to the library view to reinstall the default settings.", "catablog"); + $message .= __("If you wish to completely remove CataBlog, do not go to the library view, instead disable CataBlog after this is complete.", "catablog"); + $message .= "

    "; + echo $message; + break; + + default: + echo $contextual_help; + + +} \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/admin-discfull.php b/src/wp-content/plugins/catablog/templates/admin-discfull.php new file mode 100644 index 0000000..55968dc --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-discfull.php @@ -0,0 +1,24 @@ +
    + +

    +

    + + render_catablog_admin_message() ?> + +

    + +

    +

    + + +

    +

    + +

    +
      +
    • +
    • +
    • +
    • +
    +
    \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/admin-edit.php b/src/wp-content/plugins/catablog/templates/admin-edit.php new file mode 100644 index 0000000..0df95cc --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-edit.php @@ -0,0 +1,508 @@ +
    + +

    +

    + + render_catablog_admin_message() ?> + +
    + +
    +
    +
    +

    + +
    +
    + +
    + + getImage() ?>" class="catablog-image-preview" /> + + +
    + + + +
    + [+] +
    + + + +
    + + getSubImages()) > 0): ?> +
      + getSubImages() as $sub_image): ?> +
    • + " class="catablog-image-preview" /> + + X +
    • + +
    + +

    + + + +
    +
    + + +
    + + + + options['public_posts']): ?> +

    Permalink: getPermalink() ?>

    + +

     

    + + + + +
    + +
    + + + + + + + + " /> + ', ''); ?> +
    + +
    + +
    +
    +
    + + + + +
    +
    +

    +
    +

    + getDate()))) ?> + +

    +

    + + + + +

    + +

    + + +

    +

    + + + + +

    +
    +
    + +
    +

    +
    +

    + + +
    + + + + +

    +

    + + +
    + + + + +

    + +

    + + +
    + + + + +

    + +

    + ', ''); ?> +

    +
    +
    + +
    +

    +
    + +
      + + get_terms() ?> + + +
    • + + + +
    • + +
    • + +
    + +
    + + + + + + + +
    +

    +
    + [catablog category="dogs and cats"] +

    +
    +
    + +
    + + +
    + +
    + + +
     
    + +
    +
    +

    + + +

    +
    +

    + + + | + + + + " class="button-primary" /> +

    +
    +
    + +

    +
    +
    +
    + +
    +
    +

    + + +

    +
    +

    + + | + + + + " class="button-primary" /> +

    +
    +
    +

    + + +

    +
    +
    +
    + + + \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/admin-export.php b/src/wp-content/plugins/catablog/templates/admin-export.php new file mode 100644 index 0000000..f99de27 --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-export.php @@ -0,0 +1,28 @@ +' ?> + + + + + + getImage() ?>]]> + +getSubImages() as $image): ?> + ]]> + + + <![CDATA[<?php echo $result->getTitle() ?>]]> + getDescription() ?>]]> + getDate() ?> + getOrder() ?> + getLink() ?>]]> + getPrice() ?>]]> + getProductCode() ?>]]> + +getCategories() as $cat_id => $cat_name): ?> + ]]> + + + + + + diff --git a/src/wp-content/plugins/catablog/templates/admin-grid.php b/src/wp-content/plugins/catablog/templates/admin-grid.php new file mode 100644 index 0000000..59e128a --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-grid.php @@ -0,0 +1,29 @@ + + \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/admin-import.php b/src/wp-content/plugins/catablog/templates/admin-import.php new file mode 100644 index 0000000..c503437 --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-import.php @@ -0,0 +1,42 @@ +
    + +

    +

    + + render_catablog_admin_message() ?> + +

    + + +

    + +

    +

    + ', ''); ?> +
    + ', ''); ?> +

    + +
      + + +
    • + + + delete(false) ?> + +
    • All catalog items removed successfully", 'catablog'); ?>
    • + +
    • + remove_terms() ?> +
    • All catalog categories removed successfully", 'catablog'); ?>
    • + +
    • +
    •  
    • + + + load_array_to_database($data) ?> +
    + + +
    \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/admin-library.php b/src/wp-content/plugins/catablog/templates/admin-library.php new file mode 100644 index 0000000..9b3cb97 --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-library.php @@ -0,0 +1,433 @@ + + + + +
    + +

    +

    + + + +

    +
    +   +
    + + + + render_catablog_admin_message() ?> + +
    + +
    + + + + + + + " class="button-secondary" /> + | +
    + +
    + + + + + + | + + 0)? '' : 'disabled="disabled"' ?> + class="button"> + */ ?> +
    + + +
    + + + $limit): ?> + + ' title='' href=''>« + ' title='' href=''>‹ + + + + ' type='text' name='paged' value='' size='1' /> + + + + + ' title='' href=''>› + ' title='' href=''>» + +
    + + + +
    + + directories['template'] . '/admin-grid.php'); + } + else { + include_once($this->directories['template'] . '/admin-list.php'); + } + + ?> + + + $limit): ?> +
    +
    + + + ' title='' href=''>« + ' title='' href=''>‹ + + + + ' type='text' name='paged' value='' size='1' /> + + + + + ' title='' href=''>› + ' title='' href=''>» +
    +
    + + + +
     
    + +
    +
    +

    + + +

    + +
    +
    + [+] +
      + + get_terms() ?> + +
    • + + + +
    • + +
    • + +
    +
    + +
    + [-] +
      + + get_terms() ?> + +
    • + + + +
    • + +
    • + +
    +
    + + + + + + + + " class="button-primary" /> +

    +
    +
    +

    +
    + +
    +
    + +
    + + \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/admin-list.php b/src/wp-content/plugins/catablog/templates/admin-list.php new file mode 100644 index 0000000..f69c361 --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-list.php @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + getId() ?> + getId()), "catablog-delete") ?> + + + + + + + + + + + + + + + + + + + + + +
    " style="width:120px;"> + + +   + + " style="width:80px;"> + + +   + + " style="width:100px;"> + + +   + +

    +

    + + +

    + +
    + + + getImage() ?>" class="cb_item_icon" width="50" height="50" alt="" /> + + getTitle()) ?> +
    + + | + +
    +
    getDescriptionSummary() ?>getPrice() ?>getProductCode() ?>getCategories())?>  getOrder(), ENT_QUOTES, 'UTF-8') ?> + getDate(), 0, 10)) ?> +
    + getDate(), 11) ?> +
    \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/admin-new.php b/src/wp-content/plugins/catablog/templates/admin-new.php new file mode 100644 index 0000000..284ae4f --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-new.php @@ -0,0 +1,202 @@ +
    + +

    +

    + + render_catablog_admin_message() ?> + +
    + +
    + +
    +

    +

    +
    + +
    +
    + + + " class="button-primary" /> +

    +
    + +

    + +

    +
    +
    + +

    +
    + +
      + + get_terms() ?> + + + + +
    • + + + +
    • + +
    • + +
    +

    +*/ ?> +
    + +
    +
    +

    ', '') ?>

    +
    +
    +   +
    +
    +
    +   +
    +
    +
      +
      + +
      +
      + + \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/admin-options.php b/src/wp-content/plugins/catablog/templates/admin-options.php new file mode 100644 index 0000000..649b408 --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-options.php @@ -0,0 +1,740 @@ +
      + +

      +

      + + + + render_catablog_admin_message() ?> + + +
      +
      +

      +
      + + + +
      +
      +

      +
      + + +
      + +
        +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      + + + +
      +

      + + +
      + + + +

      +

      + + + /> +
      + +

      +

      + + +   + +

      +
       
      +
      +
      + +

      +   +

      +
      +
      + + + + +
      +

      + + + />
      + +

      + +

      + + + />
      + +

      + +

      + + +
      + + +

      + +

      + + +
      + +

      +
      + + + + + + + + +
      +

      + + + />
      +
      +
      + ", '') ?> +

      + +

      + +
      + +

      + +

      + +
      + +

      + +

       

      + +

      +
      + ', '') ?>
      + +

      + +

      +
      + ', '') ?>
      + +

      + +
      + + + + +
      +

      + +
      + + target attribute of all the catalog title links.", "catablog"); ?>
      + _blank, _top, _self. +
      +

      +

      + +
      + + rel attribute of all the catalog title links.", "catablog"); ?>
      + index, next, prev, glossary, chapter, bookmark, nofollow. +
      +

      +
      + + + +
      +

      + + + />
      + +
      +
      + do not use the CataBlog ShortCode inside a catalog item's description.", "catablog"); ?> +
      +

      + +

      + + + />
      + + nl2br()'); ?>
      +
      + +
      +

      +
      + + +
      +

      + directories['views']); ?> + isDirectory()): ?> + + + +

      + + + +

      +

      + + + + CataBlog here, this allows you to make fundamental changes to how catalogs will appear in your posts. You may choose a template from the drop down menu at top and then click Load Template to load it into the template code. If you want to setup a photo gallery I would recommend that you load the Gallery template and then click save below. To setup a shopping cart you should load the Default Template code and then load a Store Template.", "catablog"); ?> + +

      + +

      + Save Changes at the bottom of the page to finalize your changes and use the new code for your blog.", "catablog"); ?> +

      +
      + + + + +
      +

      + + +

      + +

      + Buy Now Template below to setup a store. You may then give items a price and product code. When an item has a price above zero a 'Buy Now' button will appear under the description of that CataBlog item.", "catablog"), '', ''); ?> +

      + +
      + +

      + directories['buttons']) ?> + isDirectory()): ?> + + + +

      + +

      +

      + + + Buy Now button here. All value tokens are available here too, so place the title, description or any other values you may want to use from the current catalog item in this code as well.", "catablog"); ?> + +

      +

       

      + + + + + +
      +
      + + + + + +
      + + +

      images are not included in this backup. To backup your images follow the directions at the bottom of the page.", "catablog"); ?>

      + +

       

      + +

      + + + + | + + + +

      + + + +

      + ', ''); ?> +
      + +

      + +

       

      + + +

      +
      + catablog directory to a secure location.", "catablog"); ?>
      +
      + directories['uploads'] ?> +

      +
      + + + + + + +
      + +
      + + +


      + +

        + + +

      + +

      " />

      + + +

      + Simple XML Library installed on your web server's version of PHP for XML imports to work. Please contact your server administrator for more information regarding this error.", "catablog"); ?> +

      + + +

      + Import CataBlog Data button. You may choose to completely erase all your data before importing by checking the Replace All Data checkbox.
      Keep in mind, this does not import or delete images.", "catablog"); ?> +

      +

      + originals directory, located at: %s. Once you load the XML or CVS file and the images into the originals directory everything should be set after you %sRegenerate All Images%s in the systems tab.", "catablog"), $this->directories['originals'], '', ''); ?> +

      + +

      + ', ''); ?> +

      + + +
      +
      + + + + +
      +

      + directories['uploads'])), -4) ?> + + Unlocked", "catablog"); ?> + + Locked", "catablog"); ?> + + + +

      + +

      + + + + +

      + +

      + catablog folders with these controls. The idea is to unlock the folders, use your FTP client to upload your original files and then lock the folders to protect them from hackers. After unlocking your directories please upload the original files directly into the %s folder without replacing it. Do not replace any of the CataBlog created folders. You should then regenerate all your thumbnail and lightbox pictures below. These controls may not work on a Windows server, it depends on your servers PHP settings and if the chmod command is supported.", "catablog"), $this->directories['originals']); ?> +

      + +
      + +

      + +

      +

      + Rescan Now button to rescan the original catablog images folder and automatically import any new jpeg, gif or png images. It works simply by making a list of all the image names in the database and then compares each file's name in the originals folder against the list of image names in the database. Any newly discovered images will automatically be made into a new catalog item. You should Regenerate Images after running this command.", "catablog"); ?> +

      + +
      + +

      + +

      +

      + Regenerate Now button to recreate all the thumbnail and lightbox images that CataBlog has generated over the time you have used it. This is also useful when restoring exported data from another version of CataBlog. after you have uploaded your original images you must regenerate your images so they display properly.", "catablog"); ?> +

      + +
      + +

      + +

      +

      + +

      +
      + + + + +

      + + ', ''); ?> +

      + +
      + + \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/admin-regenerate.php b/src/wp-content/plugins/catablog/templates/admin-regenerate.php new file mode 100644 index 0000000..7186e59 --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-regenerate.php @@ -0,0 +1,60 @@ +
      + +

      +

      + + + + render_catablog_admin_message() ?> + + +

      +
      + + + +
      +
      +

      +
      + + options['lightbox-render']): ?> +
      +
      +

      +
      + + +
        +
      • +
      + +
      + \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/admin-remove.php b/src/wp-content/plugins/catablog/templates/admin-remove.php new file mode 100644 index 0000000..957f20c --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-remove.php @@ -0,0 +1,97 @@ +
      + +

      +

      + + + + render_catablog_admin_message() ?> + +
      +
       
      +

      +
      + +
        + +
        + \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/admin-rescan.php b/src/wp-content/plugins/catablog/templates/admin-rescan.php new file mode 100644 index 0000000..70611aa --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-rescan.php @@ -0,0 +1,87 @@ +
        + +

        +

        + + render_catablog_admin_message() ?> + + +
          +
        • +
        • +
        • +
        • directories['originals'] ?>
        • +
        + + + +
        +
        +

        +
        + + options['lightbox-render']): ?> +
        +
        +

        +
        + + +
          + +
        • $title"); ?>
        • + +
        + + +
        + \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/admin-screen-options-library.php b/src/wp-content/plugins/catablog/templates/admin-screen-options-library.php new file mode 100644 index 0000000..5c33894 --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/admin-screen-options-library.php @@ -0,0 +1,53 @@ +ID, 'catablog_screen_settings', true); + + // prosses screen options form if submitted + $nonce_verified = wp_verify_nonce( $_REQUEST['_catablog_screen_settings_nonce'], 'catablog_screen_settings' ); + if (isset($_POST['entry-per-page']) && $nonce_verified) { + + $screen_settings['hide-columns'] = array(); + foreach ($fields as $field) { + if (!in_array($field, $_REQUEST['hide'])) { + $screen_settings['hide-columns'][] = $field; + } + } + + if (is_numeric($_REQUEST['entry-per-page'])) { + $screen_settings['limit'] = 1; + if ($_REQUEST['entry-per-page'] > 1) { + $screen_settings['limit'] = $_REQUEST['entry-per-page']; + } + } + else { + $screen_settings['limit'] = 20; + } + + $user = wp_get_current_user(); + update_user_meta($user->ID, 'catablog_screen_settings', $screen_settings); + } + +?> + + + +
        +
        + + + + +
        +
        + +
        +
        + ' /> + + + +
        + diff --git a/src/wp-content/plugins/catablog/templates/buttons/paypal.htm b/src/wp-content/plugins/catablog/templates/buttons/paypal.htm new file mode 100644 index 0000000..eeade36 --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/buttons/paypal.htm @@ -0,0 +1,15 @@ +
        + + + + + + + + + + + + +
        + diff --git a/src/wp-content/plugins/catablog/templates/views/default.htm b/src/wp-content/plugins/catablog/templates/views/default.htm new file mode 100644 index 0000000..e9599f5 --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/views/default.htm @@ -0,0 +1,14 @@ +
        +
        + %MAIN-IMAGE% + %SUB-IMAGES% +
        + +

        %TITLE-LINK%

        + +
        +

        %DESCRIPTION%

        + %BUY-NOW-BUTTON% +
        + +
        \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/views/gallery.htm b/src/wp-content/plugins/catablog/templates/views/gallery.htm new file mode 100644 index 0000000..f4dac1f --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/views/gallery.htm @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/src/wp-content/plugins/catablog/templates/views/single.htm b/src/wp-content/plugins/catablog/templates/views/single.htm new file mode 100644 index 0000000..a58d48e --- /dev/null +++ b/src/wp-content/plugins/catablog/templates/views/single.htm @@ -0,0 +1,11 @@ +
        +
        + %MAIN-IMAGE% + %SUB-IMAGES% +
        + +
        + %DESCRIPTION% + %BUY-NOW-BUTTON% +
        +
        \ No newline at end of file diff --git a/src/wp-content/plugins/custom-post-background/custom-post-back.php b/src/wp-content/plugins/custom-post-background/custom-post-back.php new file mode 100644 index 0000000..34e68f1 --- /dev/null +++ b/src/wp-content/plugins/custom-post-background/custom-post-back.php @@ -0,0 +1,35 @@ + \ No newline at end of file diff --git a/src/wp-content/plugins/custom-post-background/custom-post-back_admin.php b/src/wp-content/plugins/custom-post-background/custom-post-back_admin.php new file mode 100644 index 0000000..96410f8 --- /dev/null +++ b/src/wp-content/plugins/custom-post-background/custom-post-back_admin.php @@ -0,0 +1,246 @@ +prefix . constant("custPostBack_dbtable"); + if ($_POST['custBack_id_edit'] != 0) + { + //now update the data + $update = "UPDATE ".$table_name." SET url='".$url."', + rep='".$_POST['custBack_repeat_edit']."', color='".$_POST['custBack_color_edit']."', css='".$_POST['custBack_css_edit']."', + displaytype = '".$_POST['custBack_displaytype_edit']."' + WHERE id='".$_POST['custBack_id_edit']."'"; + } + else + { + //now add the data + $update = "INSERT INTO ".$table_name." (postid,url,rep,color,css,displaytype)"; + $update .= " VALUES('".$post_id."', '".$url."', '".$_POST['custBack_repeat_edit']."', '".$_POST['custBack_color_edit']."', '".$_POST['custBack_css_edit']."', '".$_POST['custBack_displaytype_edit']."')"; + } + + + $wpdb->query($update); + + $msg = "Save Background Settings SQL:\n"; + $msg .= $update . "\n"; + } +} + +function delete_custom_data($post_id) { + global $wpdb; + + $table_name = $wpdb->prefix . constant("custPostBack_dbtable"); + + // delete the link to the post in the custBack table + $deleteBack = "DELETE FROM $table_name WHERE postid='".$post_id."' LIMIT 1"; + $wpdb->query($deleteBack); +} + +function postback_add_custom_box() { + if( function_exists( 'add_meta_box' )) { + add_meta_box( 'custPostBack', __( 'Page Background' ), 'custPostBack_metabox', 'post', 'normal', 'core' ); + add_meta_box( 'custPostBack', __( 'Page Background' ), 'custPostBack_metabox', 'page', 'normal', 'core' ); + } +} + +//here is the page that contains the options that are going to be used for the plugin +function custPostBack_metabox($post, $custPostBack_callbackargs) +{ + global $wpdb; + global $post_id; + + //get the table names + $table_name = $wpdb->prefix . constant("custPostBack_dbtable"); + $table_post = $wpdb->posts; + + //code to display data + echo '
        '; + + //the links section + echo '

        More Software | Donate | Information | Contact Us

        '; + + //check to see if this post has a background entry in the DB + $queryEditOne = "SELECT * FROM ".$table_name." WHERE postid='".$post_id."' LIMIT 1"; + + $rEditBack = $wpdb->get_row($queryEditOne); + + if(!$rEditBack) + { + // Set-up defaults + $rEditBack->id = 0; // 0 = No entry for this Post + $rEditBack->postid = $post_id; + $rEditBack->url = ''; + $rEditBack->rep = "none"; + $rEditBack->color = ''; + $rEditBack->css = ''; + $rEditBack->displaytype = "0"; + } + + //figure out how the background source will be displayed + $linkId = ""; + if(strlen($rEditBack->url) > 0) + { + //check if the posts table contains the link to the image + $linkId = $wpdb->get_var("SELECT id FROM ".$wpdb->posts." WHERE guid='".$rEditBack->url."' LIMIT 1"); + } + $resultImages = $wpdb->get_results("SELECT id, guid, post_title, post_name FROM ".$wpdb->posts." WHERE post_mime_type LIKE 'image%'"); + + // Use nonce for verification + wp_nonce_field( plugin_basename(__FILE__), 'postback_noncename' ); + + //echo '

        Edit Background: '.$resultPosts->post_title.'

        '; + + echo ' + + +
        +

        + + + + + + '; + + echo ' + + + + '; + + echo ' + + + + + + + + + + + + + + + + + + + +
        '.__('Source').': + +
        '.__('Repeat').':
        '.__('Background Color').':
        CSS:
        '.__('Display Type').':'; + + //area for selecting display type + echo ' + +
        +

        +
        + '; + + echo '
        '; +} + + +?> \ No newline at end of file diff --git a/src/wp-content/plugins/custom-post-background/custom-post-back_mysql.php b/src/wp-content/plugins/custom-post-background/custom-post-back_mysql.php new file mode 100644 index 0000000..194dff0 --- /dev/null +++ b/src/wp-content/plugins/custom-post-background/custom-post-back_mysql.php @@ -0,0 +1,50 @@ +prefix . constant("custPostBack_dbtable"); + + $installed_ver = get_option( "custpostback_db_version" ); + + //check if it has not been installed or database needs update + if ( ($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) + || ($installed_ver != $custpostback_db_version) ) + { + // MJS - Default not allowed on TEXT fields - removed + // MJS - dbDelta() needs a space in UNIQUE KEY def between keiId and ( + $sql = "CREATE TABLE ".$table_name." ( + id bigint(20) NOT NULL AUTO_INCREMENT, + postid bigint(20) NULL, + url text NULL, + rep VARCHAR(5) NULL DEFAULT 'none', + color VARCHAR(25) NULL, + css TEXT NULL, + displaytype TINYINT(1) NULL DEFAULT '".CPB_DISPLAY_BACKGROUND."', + UNIQUE KEY id (id) + );"; + + //excecute the query + require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); + dbDelta($sql); + + update_option("custpostback_db_version", $custpostback_db_version); + } + + $rowsPerPage = get_option('custBack_resultspp'); + //if the amount of rows per page is less than the minimum 10, then update it + if($rowsPerPage < 10) + { + update_option('custBack_resultspp', 10); + } +} + + +?> \ No newline at end of file diff --git a/src/wp-content/plugins/custom-post-background/custom-post-back_post.php b/src/wp-content/plugins/custom-post-background/custom-post-back_post.php new file mode 100644 index 0000000..2d9f0a0 --- /dev/null +++ b/src/wp-content/plugins/custom-post-background/custom-post-back_post.php @@ -0,0 +1,115 @@ +url) > 0) + { + $new_data .= "background-image: url('".$results->url."');"; + } + + if(strlen($results->rep) > 0) + { + if($results->rep == "x" || $results->rep == "y") + { + $new_data .= "background-repeat: repeat-".$results->rep.";"; + } + else if($results->rep == "both") + { + $new_data .= "background-repeat: repeat;"; + } + else + { + $new_data .= "background-repeat: no-repeat;"; + } + } + + if(strlen($results->color) > 0) + { + //probably should have some code to check if it's hexadecimal + $new_data .= "background-color: ".$results->color.";"; + } + + if(strlen($results->css) > 0) + { + $new_data .= $results->css; + } + return $new_data; + } + + function custompostback_process($data) + { + global $post; + global $wpdb; + + //get the table name + $table_name = $wpdb->prefix . constant("custPostBack_dbtable"); + + $post_id = get_the_ID(); + + + $display = true; + if (is_home()) $display = false; + if (is_archive()) $display = false; + if (is_date()) $display = false; + if (is_category()) $display = false; + if (is_search()) $display = false; + if (is_feed()) $display = false; + + //sql data + $queryBacks = "SELECT * FROM ".$table_name." WHERE postid='".$post_id."' LIMIT 1"; + $results = $wpdb->get_row($queryBacks); + + //check if the display type is set to not display. If so there is no need to go any further + if($results && $results->displaytype == CPB_DISPLAY_DISABLED) + { + return $data; //no need to continue. It is currently disabled. + } + + if($display) + { + if($results && $results->displaytype != CPB_DISPLAY_MAINPAGE) //if it's set to only display on the main page, then only display on the main page + { + $new_data = ""; + if ($results->displaytype == CPB_DISPLAY_BACKGROUND || $results->displaytype == CPB_DISPLAY_WHOLEPAGE) + { + $new_data = '"; + $data = $new_data . $data; + } + else if($results->displaytype == CPB_DISPLAY_POSTPAGE || $results->displaytype == CPB_DISPLAY_BOTHPAGES) //display only on post or both + { + //add to the end of the actual data + $data = '
        '.$data.'
        '; + } + } + } + else + { + if($results && ($results->displaytype == CPB_DISPLAY_MAINPAGE || $results->displaytype == CPB_DISPLAY_BOTHPAGES)) //check to see if it equals 1 (so that means to display it on the main page and archives) or on both + { + $new_data = custompostback_style($results,$new_data); + $data = '
        '.$data.'
        '; + } + } + return $data; + } +?> \ No newline at end of file diff --git a/src/wp-content/plugins/custom-post-background/readme.txt b/src/wp-content/plugins/custom-post-background/readme.txt new file mode 100644 index 0000000..657a0d9 --- /dev/null +++ b/src/wp-content/plugins/custom-post-background/readme.txt @@ -0,0 +1,53 @@ +=== Plugin Name === +Contributors: blogtap.net +Donate link: http://blogtap.net/custom_post_background_plugin.shtml +Tags: background, style, post, modification +Requires at least: 2.0 +Tested up to: 3.1.1 +Stable tag: 1.3.1.0 + +Create custom backgrounds or styles for your posts and pages. + +== Description == + +The Custom Post Background plugin for Wordpress adds a great deal of visual customization ability to your blog posts and page appearances. It allows you to easily change the background of individual blog posts/pages using CSS or an image URL (with or without a x/y/both repeat).. For any page, CPB displays a meta-box with fields where you can then make your background customizations. + +You can change the background with CSS/URL of image to apply to only the background of the post, only on the background of the home/main page, or both pages. +The "Color" feild option allows you to quickly make background changes using the background-color CSS code. You can enter any color (such as "red," "blue," "green") or enter a hex value, like: #A9A7A7. You can also change the whole page background (not just the post background) of any individual post with the "Display as page background on post page" option. + +Version 1.1.0.0 Updates +-Added paging to administration area. + +Version 1.2.0.0 Updates +-Added option of setting background image to image in media page + +Version 1.3.0.0 Updates +-Removed css field DEFAULT value +-Implemented database version update +-Admin page changed to meta-box on Page/Post edit pages +-Display type changed from radio buttons to drop down list + +Version 1.3.1.0 Updates +-Added Whole Page option - As "Page Background" but with transparent Post/Page background + +== Installation == + +1. Download the custom-post-background.zip +1. Navigate to the plugins page in your administrator panel. +1. Click the Plugin Browser/Install link. +1. Under "Install a plugin in .zip format" choose the custom-post-background.zip file +1. Click Install Now. +1. After it has installed, activate the plugin. + +== Frequently Asked Questions == + += How do I edit a page's background? = + +1. Navigate to the editor for the Page you want to add/edit the background image +1. Locate the "Page Background" meta-box +1. Modify the settings to your liking. +1. Click the "Update" button to confirm your changes. + +== Screenshots == + +1. screenshot-1.png diff --git a/src/wp-content/plugins/custom-post-background/screenshot-1.png b/src/wp-content/plugins/custom-post-background/screenshot-1.png new file mode 100644 index 0000000..9ba7309 Binary files /dev/null and b/src/wp-content/plugins/custom-post-background/screenshot-1.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/dcwp_jquery_accordion.php b/src/wp-content/plugins/jquery-vertical-accordion-menu/dcwp_jquery_accordion.php new file mode 100644 index 0000000..fe4c69a --- /dev/null +++ b/src/wp-content/plugins/jquery-vertical-accordion-menu/dcwp_jquery_accordion.php @@ -0,0 +1,59 @@ + \ No newline at end of file diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/dcwp_jquery_accordion_widget.php b/src/wp-content/plugins/jquery-vertical-accordion-menu/dcwp_jquery_accordion_widget.php new file mode 100644 index 0000000..c0b4013 --- /dev/null +++ b/src/wp-content/plugins/jquery-vertical-accordion-menu/dcwp_jquery_accordion_widget.php @@ -0,0 +1,321 @@ + $css_class, + 'description' => __( $desc, 'dcjq-accordion' ), + ); + parent::WP_Widget( 'nav_menu', __('Custom Menu'), $widget_ops ); + + $this->WP_Widget($id_base, __($name, 'dcjqaccordion'), $widget_ops); + $this->alt_option_name = $alt_option; + + add_action( 'wp_head', array(&$this, 'styles'), 10, 1 ); + add_action( 'wp_footer', array(&$this, 'footer'), 10, 1 ); + + $this->defaults = array( + 'title' => '', + 'event' => 'click', + 'hoverDelay' => '300', + 'menuClose' => 'on', + 'autoClose' => 'on', + 'saveState' => 'on', + 'autoExpand' => 'off', + 'showCount' => 'off', + 'speed' => 'slow', + 'disableLink' => 'on', + 'classDisable' => 'on', + 'classMenu' => '', + 'skin' => 'demo.css' + ); + } + + function widget($args, $instance) { + extract( $args ); + // Get menu + + if(! isset($instance['speed']) ){ $instance['speed'] = 'slow'; } + + $widget_options = wp_parse_args( $instance, $this->defaults ); + extract( $widget_options, EXTR_SKIP ); + + $nav_menu = wp_get_nav_menu_object( $instance['nav_menu'] ); + + if (!$nav_menu) + return; + + $instance['title'] = apply_filters('widget_title', $instance['title'], $instance, $this->id_base); + + $classMenu = ($instance['classMenu'] != '') ? $instance['classMenu'] : 'menu'; + + echo $args['before_widget']; + + if ( !empty($instance['title']) ) + echo $args['before_title'] . $instance['title'] . $args['after_title']; + + ?> + +
        + + '', + 'menu' => $nav_menu, + 'container' => false, + 'menu_class' => $classMenu + ) + ); + ?> + +
        + defaults ); + extract( $widget_options, EXTR_SKIP ); + + // Get menus + $menus = get_terms( 'nav_menu', array( 'hide_empty' => false ) ); + + // If no menus exists, direct the user to go and create some. + if ( !$menus ) { + echo '

        '. sprintf( __('No menus have been created yet. Create some.'), admin_url('nav-menus.php') ) .'

        '; + return; + } + ?> +

        + + +

        +

        + + +

        +

        + /> + + /> + +

        +

        + /> +
        + + /> +
        + + /> +
        + + /> +
        + + /> +
        + + /> + +

        +

        + + +

        +

        + + +

        +

        + +

        +

        +

        +


        +

        +
        +

        +
        + + get_settings(); + + foreach ($all_widgets as $key => $wpdcjqaccordion){ + $widget_id = $this->id_base . '-' . $key; + + if(is_active_widget(false, $widget_id, $this->id_base)){ + + $skin = $wpdcjqaccordion['skin']; + $skin = htmlspecialchars(ucfirst(preg_replace('/\..*$/', '', $skin))); + if($skin != 'No-theme'){ + echo "\n\t"; + } + } + } + } + } + + /** Adds ID based activation script to the footer */ + function footer(){ + + if(!is_admin()){ + + $all_widgets = $this->get_settings(); + + foreach ($all_widgets as $key => $wpdcjqaccordion){ + + $widget_id = $this->id_base . '-' . $key; + + if(is_active_widget(false, $widget_id, $this->id_base)){ + + $autoClose = $wpdcjqaccordion['autoClose']; + if($autoClose == ''){$autoClose = 'false';} + + $saveState = $wpdcjqaccordion['saveState']; + if($saveState == ''){$saveState = 'false';} + + $disableLink = $wpdcjqaccordion['disableLink']; + if($disableLink == ''){$disableLink = 'false';} + + $classDisable = $wpdcjqaccordion['classDisable']; + + $classMenu = $wpdcjqaccordion['classMenu']; + if($classMenu == ''){$classMenu = 'menu';} + + $menuClose = $wpdcjqaccordion['menuClose']; + if($menuClose == ''){$menuClose = 'false';} + + $autoExpand = $wpdcjqaccordion['autoExpand']; + if($autoExpand == ''){$autoExpand = 'false';} + + $showCount = $wpdcjqaccordion['showCount']; + if($showCount == ''){$showCount = 'false';} + + $hoverDelay = $wpdcjqaccordion['hoverDelay']; + if($hoverDelay == ''){$hoverDelay = 600;} + + $accordionId = '#'.$widget_id.'-item .'.$classMenu; + + ?> + + + a',obj); + $objSub = $('li > ul',obj); + if(defaults.classDisable){ + $objLinks = $('li:not(.'+defaults.classDisable+') > a',obj); + $objSub = $('li:not(.'+defaults.classDisable+') > ul',obj); + } + + classActive = defaults.classActive; + + setUpAccordion(); + if(defaults.saveState == true){ + checkCookie(defaults.cookie, obj, classActive); + } + if(defaults.autoExpand == true){ + $('li.'+defaults.classExpand+' > a').addClass(classActive); + } + resetAccordion(); + if(defaults.eventType == 'hover'){ + var config = { + sensitivity: 2, // number = sensitivity threshold (must be 1 or higher) + interval: defaults.hoverDelay, // number = milliseconds for onMouseOver polling interval + over: linkOver, // function = onMouseOver callback (REQUIRED) + timeout: defaults.hoverDelay, // number = milliseconds delay before onMouseOut + out: linkOut // function = onMouseOut callback (REQUIRED) + }; + $objLinks.hoverIntent(config); + var configMenu = { + sensitivity: 2, // number = sensitivity threshold (must be 1 or higher) + interval: 1000, // number = milliseconds for onMouseOver polling interval + over: menuOver, // function = onMouseOver callback (REQUIRED) + timeout: 1000, // number = milliseconds delay before onMouseOut + out: menuOut // function = onMouseOut callback (REQUIRED) + }; + $(obj).hoverIntent(configMenu); + // Disable parent links + if(defaults.disableLink == true){ + $objLinks.click(function(e){ + if($(this).siblings('ul').length >0){ + e.preventDefault(); + } + }); + } + } else { + $objLinks.click(function(e){ + $activeLi = $(this).parent('li'); + $parentsLi = $activeLi.parents('li'); + $parentsUl = $activeLi.parents('ul'); + // Prevent browsing to link if has child links + if(defaults.disableLink == true){ + if($(this).siblings('ul').length >0){ + e.preventDefault(); + } + } + // Auto close sibling menus + if(defaults.autoClose == true){ + autoCloseAccordion($parentsLi, $parentsUl); + } + if ($('> ul',$activeLi).is(':visible')){ + $('ul',$activeLi).slideUp(defaults.speed); + $('a',$activeLi).removeClass(classActive); + } else { + $(this).siblings('ul').slideToggle(defaults.speed); + $('> a',$activeLi).addClass(classActive); + } + // Write cookie if save state is on + if(defaults.saveState == true){ + createCookie(defaults.cookie, obj, classActive); + } + }); + } + // Set up accordion + function setUpAccordion(){ + $arrow = ''; + var classParentLi = defaults.classParent+'-li'; + $objSub.show(); + $('li',obj).each(function(){ + if($('> ul',this).length > 0){ $(this).addClass(classParentLi); + $('> a',this).addClass(defaults.classParent).append($arrow); + } + }); + $objSub.hide(); + if(defaults.classDisable){ + $('li.'+defaults.classDisable+' > ul').show(); + } + if(defaults.showCount == true){ + $('li.'+classParentLi,obj).each(function(){ + if(defaults.disableLink == true){ + var getCount = parseInt($('ul a:not(.'+defaults.classParent+')',this).length); + } else { + var getCount = parseInt($('ul a',this).length); + } + $('> a',this).append(' ('+getCount+')'); + }); + } + } + + function linkOver(){ + + $activeLi = $(this).parent('li'); + $parentsLi = $activeLi.parents('li'); + $parentsUl = $activeLi.parents('ul'); + + // Auto close sibling menus + if(defaults.autoClose == true){ + autoCloseAccordion($parentsLi, $parentsUl); + + } + + if ($('> ul',$activeLi).is(':visible')){ + $('ul',$activeLi).slideUp(defaults.speed); + $('a',$activeLi).removeClass(classActive); + } else { + $(this).siblings('ul').slideToggle(defaults.speed); + $('> a',$activeLi).addClass(classActive); + } + + // Write cookie if save state is on + if(defaults.saveState == true){ + createCookie(defaults.cookie, obj, classActive); + } + } + + function linkOut(){ + } + + function menuOver(){ + } + + function menuOut(){ + + if(defaults.menuClose == true){ + $objSub.slideUp(defaults.speed); + // Reset active links + $('a',obj).removeClass(classActive); + createCookie(defaults.cookie, obj, classActive); + } + } + + // Auto-Close Open Menu Items + function autoCloseAccordion($parentsLi, $parentsUl){ + $objSub.not($parentsUl).slideUp(defaults.speed); + // Reset active links + $('a',obj).removeClass(classActive); + $('> a',$parentsLi).addClass(classActive); + } + // Reset accordion using active links + function resetAccordion(){ + $objSub.hide(); + var $parentsLi = $('a.'+classActive,obj).parents('li'); + $('> a',$parentsLi).addClass(classActive); + $allActiveLi = $('a.'+classActive,obj); + $($allActiveLi).siblings('ul').show(); + } + }); + // Retrieve cookie value and set active items + function checkCookie(cookieId, obj, classActive){ + var cookieVal = $.cookie(cookieId); + if(cookieVal != null){ + // create array from cookie string + var activeArray = cookieVal.split(','); + $.each(activeArray, function(index,value){ + var $cookieLi = $('li:eq('+value+')',obj); + $('> a',$cookieLi).addClass(classActive); + var $parentsLi = $cookieLi.parents('li'); + $('> a',$parentsLi).addClass(classActive); + }); + } + } + // Write cookie + function createCookie(cookieId, obj, classActive){ + var activeIndex = []; + // Create array of active items index value + $('li a.'+classActive,obj).each(function(i){ + var $arrayItem = $(this).parent('li'); + var itemIndex = $('li',obj).index($arrayItem); + activeIndex.push(itemIndex); + }); + // Store in cookie + $.cookie(cookieId, activeIndex, { path: '/' }); + } + }; +})(jQuery); \ No newline at end of file diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/js/jquery.hoverIntent.minified.js b/src/wp-content/plugins/jquery-vertical-accordion-menu/js/jquery.hoverIntent.minified.js new file mode 100644 index 0000000..a91b9fe --- /dev/null +++ b/src/wp-content/plugins/jquery-vertical-accordion-menu/js/jquery.hoverIntent.minified.js @@ -0,0 +1,9 @@ +/** +* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+ +* +* +* @param f onMouseOver function || An object with configuration options +* @param g onMouseOut function || Nothing (use configuration options object) +* @author Brian Cherne +*/ +(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY)) Add New > Upload` interface or upload `jquery-vertical-accordion-menu` folder to the `/wp-content/plugins/` directory +2. Activate the plugin through the 'Plugins' menu in WordPress +3. In the widgets section, select the jQuery accordion menu widget and add to one of your widget areas +4. Select one of the WP menus, set the required settings and save your widget + +== Frequently Asked Questions == + += The menu appears on the page but does not work. Why? = + +First - make sure that your custom menu has at least 2 levels. If it has only one level the open/close effect is not active. + +One main reason for the menu failing to load properly is caused by the necessary code missing from the page footer. The plugin adds the required jQuery code to your template footer. Make sure that your template files contain the wp_footer() function. + +Another likely cause is due to other non-functioning plugins, which may have errors and cause the plugin javascript to not load. Remove any unwanted plugins and try again. Checking with Firebug will show where these error are occuring. + +== Screenshots == + +1. Widget in edit mode +2. Sample vertical accordion menus + +== Changelog == + += 2.6 = +* Added: Ability to disable parent menu items using a CSS class +* Added: Ability to set menu CSS Class - default "menu" +* Update: Revision to auto-expand system +* Update: jquery.dcjqaccordion.2.8.js + += 2.5.4 = +* Fix: Bug with save state option + += 2.5.3 = +* Added: jQuery accordion plugin includes check for cookie function + += 2.5.2 = +* Update: jquery.dcjqaccordion.2.7.js - fix bug with count option + += 2.5.1 = +* Fix: Bug when using "No Theme" option + += 2.5 = +* Added: Auto-expand now independent of save state option + += 2.4 = +* Added: Ability to auto-expand menu based on the Wordpress current page/menu item classes + += 2.3 = +* Edit: Plugin now works with Cufon text + += 2.2 = +* Added: Option to show count of number of child links +* Edit: Plugin updated to use jquery plugin version 2.3 +* Edit: Cookie name set based on widget ID + += 2.1 = +* Edit: Security for dynamic skins + += 2.0 = +* Added : Ability to select either hover or click to activate menu +* Added : Hover delay setting for hover event +* Added : Close menu option for hover event + += 1.1 = +* Fixed : Duplicate ID with themes adding ID to widget container +* Fixed : Set cookie path + += 1.0 = +* First release \ No newline at end of file diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/screenshot-1.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/screenshot-1.png new file mode 100644 index 0000000..73838c0 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/screenshot-1.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/screenshot-2.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/screenshot-2.png new file mode 100644 index 0000000..a824da1 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/screenshot-2.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skin.php b/src/wp-content/plugins/jquery-vertical-accordion-menu/skin.php new file mode 100644 index 0000000..8c868b0 --- /dev/null +++ b/src/wp-content/plugins/jquery-vertical-accordion-menu/skin.php @@ -0,0 +1,37 @@ + + $value) $str[$key] = clean($value, $html); + } else { + if (get_magic_quotes_gpc()) $str = stripslashes($str); + + if (is_array($html)) $str = strip_tags($str, implode('', $html)); + elseif (preg_match('|<([a-z]+)>|i', $html)) $str = strip_tags($str, $html); + elseif ($html !== true) $str = strip_tags($str); + + $str = trim($str); + $str = str_replace(".", "", $str); + $str = str_replace("/", "", $str); + } + + return $str; +} +?> \ No newline at end of file diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/black.css b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/black.css new file mode 100644 index 0000000..cc9a8fd --- /dev/null +++ b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/black.css @@ -0,0 +1,7 @@ +#dc_jqaccordion_widget-%ID%-item{font: bold 13px Arial, sans-serif;} +#dc_jqaccordion_widget-%ID%-item ul, #dc_jqaccordion_widget-%ID%-item ul li {margin: 0; padding: 0; border: none;} +#dc_jqaccordion_widget-%ID%-item ul a {padding: 10px 10px 10px 28px; background: #000 url(skins/images/bg_graphite.png) repeat-x 0 0; text-decoration:none; display: block; color: #fff; font-weight: normal;border-bottom: 1px solid #fff;} +#dc_jqaccordion_widget-%ID%-item ul ul a {background: #343434;} +#dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent, #dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent:hover {background: #000 url(skins/images/graphite_arrow_right.png) no-repeat 0 0; font-weight: bold; color: #fff;} +#dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent.active {background: #000 url(skins/images/graphite_arrow_down.png) no-repeat 0 0;} +#dc_jqaccordion_widget-%ID%-item ul a:hover {background: #121212;} \ No newline at end of file diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/blue.css b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/blue.css new file mode 100644 index 0000000..d0ebcf1 --- /dev/null +++ b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/blue.css @@ -0,0 +1,7 @@ +#dc_jqaccordion_widget-%ID%-item{ border-top: 1px solid #013d6c; border-right: 1px solid #013d6c; border-left: 1px solid #013d6c;} +#dc_jqaccordion_widget-%ID%-item ul, #dc_jqaccordion_widget-%ID%-item ul li {margin: 0; padding: 0; border: none;} +#dc_jqaccordion_widget-%ID%-item ul a {padding: 10px 10px 10px 15px; background: #0D5995; text-decoration:none; display: block; color: #fff; border-bottom: 1px solid #013d6c; border-top: 1px solid #4695d3;} +#dc_jqaccordion_widget-%ID%-item ul ul a {padding: 10px 10px 10px 25px;} +#dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent, #dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent:hover {padding: 10px 10px 10px 15px;} +#dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent.active {background: #0D5995 url(skins/images/checkers.png) repeat 0 0;} +#dc_jqaccordion_widget-%ID%-item ul a:hover {background: #05477c;} \ No newline at end of file diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/clean.css b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/clean.css new file mode 100644 index 0000000..2a60f8b --- /dev/null +++ b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/clean.css @@ -0,0 +1,7 @@ +#dc_jqaccordion_widget-%ID%-item{border-top: 1px solid #cfcfcf; border-right: 1px solid #cfcfcf; border-left: 1px solid #cfcfcf;} +#dc_jqaccordion_widget-%ID%-item ul, #dc_jqaccordion_widget-%ID%-item ul li {margin: 0; padding: 0; border: none;} +#dc_jqaccordion_widget-%ID%-item ul a {padding: 10px 15px; background: #fff url(skins/images/bg_clean.png) repeat-x top center; font-weight: bold; text-transform: uppercase; text-decoration:none; display: block; color: #222; border-bottom: 1px solid #cfcfcf;} +#dc_jqaccordion_widget-%ID%-item ul ul a {padding: 10px 10px 10px 25px; background: #fff; font-weight: normal; text-transform: capitalize;} +#dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent {padding: 10px 15px; background: #efefef url(skins/images/bg_clean.png) repeat-x top center; font-weight: bold; text-transform: uppercase;} +#dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent:hover {background: #fff url(skins/images/bg_clean_on.png) repeat-x top center;} +#dc_jqaccordion_widget-%ID%-item ul a:hover {background: #ececec; color: #990000;} \ No newline at end of file diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/demo.css b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/demo.css new file mode 100644 index 0000000..15ef17d --- /dev/null +++ b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/demo.css @@ -0,0 +1,7 @@ +#dc_jqaccordion_widget-%ID%-item{background-color: #fff; border-top: 1px solid #ccc; border-right: 1px solid #ccc; border-left: 1px solid #ccc;} +#dc_jqaccordion_widget-%ID%-item ul, #dc_jqaccordion_widget-%ID%-item ul, #dc_jqaccordion_widget-%ID%-item ul li {margin: 0; padding: 0; border: none;} +#dc_jqaccordion_widget-%ID%-item ul a {background-repeat: no-repeat; background-position: 10px center; border-top: 1px solid #fff; border-bottom: 1px solid #ccc; padding: 10px 10px 10px 32px; text-decoration:none; display: block; color: #222; font-weight: bold;} +#dc_jqaccordion_widget-%ID%-item ul ul a {font-weight: normal;} +#dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent {background-image: url(skins/images/plus_grey.png); font-weight: bold; background-color: #fff;} +#dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent.active {background-image: url(skins/images/minus_grey.png); background-color: #f3f3f3;} +#dc_jqaccordion_widget-%ID%-item ul a:hover {color: #990000;} \ No newline at end of file diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/graphite.css b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/graphite.css new file mode 100644 index 0000000..0415602 --- /dev/null +++ b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/graphite.css @@ -0,0 +1,8 @@ +#dc_jqaccordion_widget-%ID%-item{font: bold 14px Arial, sans-serif; border-top: 1px solid #111; border-right: 1px solid #111; border-left: 1px solid #111;} +#dc_jqaccordion_widget-%ID%-item ul, #dc_jqaccordion_widget-%ID%-item ul li {margin: 0; padding: 0; border: none;} +#dc_jqaccordion_widget-%ID%-item ul a {padding: 10px 10px 10px 50px; background: #0C0C0C url(skins/images/bg_black.png) repeat-x 0 -1px; text-decoration:none; display: block; color: #ddd; border-bottom: 1px solid #222; border-top: 1px solid #777; position: relative;} +#dc_jqaccordion_widget-%ID%-item ul ul a {background: #424549;} +#dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent, #dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent:hover {background: #0C0C0C url(skins/images/bg_black.png) repeat-x 0 -1px;} +#dc_jqaccordion_widget-%ID%-item ul a .dcjq-icon {position: absolute; top: 50%; left: 14px; width: 34px; margin-top: -17px; height: 34px; background: url(skins/images/arrow_black_right.png) no-repeat 0 center;} +#dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent.active .dcjq-icon {background: url(skins/images/arrow_black_down.png) no-repeat 0 center;} +#dc_jqaccordion_widget-%ID%-item ul a:hover {background: #232323; color: #fff;} \ No newline at end of file diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/grey.css b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/grey.css new file mode 100644 index 0000000..815cd96 --- /dev/null +++ b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/grey.css @@ -0,0 +1,7 @@ +#dc_jqaccordion_widget-%ID%-item{font: bold 14px Arial, sans-serif; border-top: 1px solid #ccc; border-right: 1px solid #ccc; border-left: 1px solid #ccc;} +#dc_jqaccordion_widget-%ID%-item ul, #dc_jqaccordion_widget-%ID%-item ul li {margin: 0; padding: 0; border: none;} +#dc_jqaccordion_widget-%ID%-item ul a {padding: 10px 10px 10px 50px; background: #ececec; text-decoration:none; display: block; color: #333; border-bottom: 1px solid #ccc; border-top: 1px solid #fff; position: relative; text-shadow: 1px 1px 1px #fff;} +#dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent, #dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent:hover {background: #D7D4D4 url(skins/images/bg_grey.png) repeat-x 0 -1px;} +#dc_jqaccordion_widget-%ID%-item ul a .dcjq-icon {position: absolute; top: 50%; left: 14px; width: 34px; margin-top: -17px; height: 34px; background: url(skins/images/arrow_grey_right.png) no-repeat 0 center;} +#dc_jqaccordion_widget-%ID%-item ul a.dcjq-parent.active .dcjq-icon {background: url(skins/images/arrow_grey_down.png) no-repeat 0 center;} +#dc_jqaccordion_widget-%ID%-item ul a:hover {background: #fff; color: #990000;} \ No newline at end of file diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arr_black.gif b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arr_black.gif new file mode 100644 index 0000000..5ae2274 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arr_black.gif differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arr_white.gif b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arr_white.gif new file mode 100644 index 0000000..61c6d55 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arr_white.gif differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow.png new file mode 100644 index 0000000..50ec3e3 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow1.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow1.png new file mode 100644 index 0000000..39b2120 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow1.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow2.gif b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow2.gif new file mode 100644 index 0000000..748603d Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow2.gif differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_black_down.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_black_down.png new file mode 100644 index 0000000..10237e6 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_black_down.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_black_right.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_black_right.png new file mode 100644 index 0000000..2b6e565 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_black_right.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey.png new file mode 100644 index 0000000..f4fb28f Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey_down.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey_down.png new file mode 100644 index 0000000..fb265df Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey_down.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey_down_x.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey_down_x.png new file mode 100644 index 0000000..45b0676 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey_down_x.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey_right.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey_right.png new file mode 100644 index 0000000..a81f440 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey_right.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey_right_x.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey_right_x.png new file mode 100644 index 0000000..f61507c Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_grey_right_x.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_red_down.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_red_down.png new file mode 100644 index 0000000..addb984 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_red_down.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_red_right.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_red_right.png new file mode 100644 index 0000000..e8f2fd2 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_red_right.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_right.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_right.png new file mode 100644 index 0000000..bfd3e63 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrow_right.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrv_white.gif b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrv_white.gif new file mode 100644 index 0000000..2cdb705 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/arrv_white.gif differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bcgWepButton.gif b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bcgWepButton.gif new file mode 100644 index 0000000..70a363e Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bcgWepButton.gif differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_black.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_black.png new file mode 100644 index 0000000..3ffbfa4 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_black.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_clean.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_clean.png new file mode 100644 index 0000000..1e1d132 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_clean.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_clean_on.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_clean_on.png new file mode 100644 index 0000000..22a1a25 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_clean_on.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_graphite.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_graphite.png new file mode 100644 index 0000000..e1c4fbd Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_graphite.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_graphite_arrow.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_graphite_arrow.png new file mode 100644 index 0000000..428744e Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_graphite_arrow.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_green_blue.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_green_blue.png new file mode 100644 index 0000000..e5957d8 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_green_blue.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_grey.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_grey.png new file mode 100644 index 0000000..0b42beb Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_grey.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_white.jpg b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_white.jpg new file mode 100644 index 0000000..709731e Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bg_white.jpg differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bullet.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bullet.png new file mode 100644 index 0000000..789d5eb Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bullet.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bullet_active.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bullet_active.png new file mode 100644 index 0000000..e6299e7 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/bullet_active.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/checkers.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/checkers.png new file mode 100644 index 0000000..97fe131 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/checkers.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/checkers_x.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/checkers_x.png new file mode 100644 index 0000000..47c0382 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/checkers_x.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/graphite_arrow_down.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/graphite_arrow_down.png new file mode 100644 index 0000000..d5dfe45 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/graphite_arrow_down.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/graphite_arrow_right.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/graphite_arrow_right.png new file mode 100644 index 0000000..010a496 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/graphite_arrow_right.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/minus_grey.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/minus_grey.png new file mode 100644 index 0000000..c6b15c4 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/minus_grey.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/minus_red.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/minus_red.png new file mode 100644 index 0000000..3375b65 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/minus_red.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/opacity.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/opacity.png new file mode 100644 index 0000000..8980f35 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/opacity.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/plus_grey.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/plus_grey.png new file mode 100644 index 0000000..ff2ca74 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/plus_grey.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/plus_red.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/plus_red.png new file mode 100644 index 0000000..1dfd9ae Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/plus_red.png differ diff --git a/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/stripes.png b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/stripes.png new file mode 100644 index 0000000..9341682 Binary files /dev/null and b/src/wp-content/plugins/jquery-vertical-accordion-menu/skins/images/stripes.png differ diff --git a/src/wp-content/plugins/make-filename-lowercase/make-filename-lowercase.php b/src/wp-content/plugins/make-filename-lowercase/make-filename-lowercase.php new file mode 100644 index 0000000..c9a431b --- /dev/null +++ b/src/wp-content/plugins/make-filename-lowercase/make-filename-lowercase.php @@ -0,0 +1,42 @@ + diff --git a/src/wp-content/plugins/make-filename-lowercase/readme.txt b/src/wp-content/plugins/make-filename-lowercase/readme.txt new file mode 100644 index 0000000..531f42d --- /dev/null +++ b/src/wp-content/plugins/make-filename-lowercase/readme.txt @@ -0,0 +1,65 @@ +=== Make Filename Lowercase === +Contributors: ereckers +Donate link: http://www.redbridgenet.com/make-payment/ +Tags: strtolower, lowercase, filename, media, upload, sanitize_file_name, strtolower filename, lowercase filename, strtolower media, lowercase media, strtolower upload, lowercase upload +Requires at least: 3.0.1 +Tested up to: 3.1 +Stable tag: 1.0.0 + +Sets uploaded media filename to lowercase. + +== Description == + +Sets uploaded media filename to lowercase as filter on sanitize_file_name. Based on post at Stack Overflow asking if there is a way to "Rename files during upload within Wordpress 3.0 backend". + +Created for WordPress 3.0.1+ which saves any uploaded media filename (Image, Video, Audio) as lowercase. This effectively changes the name of the file at upload if a user were to upload a file with any uppercase characters. + +For instance: + +* MOVIE-FILE.MOV > movie-file.mov +* Movie-File.wmv > movie-file.wmv +* ImAgEfILe.gif > imagefile.gif +* imageFile.JPG > imagefile.jpg +* ETC > etc + +Note: WordPress sets file extension to lowercase. This plugin does a strtolower on the filename. + +

        More Information

        + +Visit the Red Bridge Internet site for more information about Make Filename Lowercase plugin. + +== Installation == + +1. Download the plugin and unzip it. +2. Upload the folder /make-filename-lowercase to your /wp-content/plugins/ folder. +3. Activate the plugin from your WordPress admin panel. +4. Installation finished. + +== Screenshots == + +1. Upload media filename of mixed case (in this case, the file MIXED-cAsE-filename.JPG). +2. Filename changed to lowercase (mixed-case-filename.jpg) preserving the case for Title. +3. An image detail view from the Media Library showing the new File name as lowercase. + +== Frequently Asked Questions == + += Why was this plugin created? = + +This plugin evolved from a client requirement that all uploaded media filenames contain no uppercase characters. + += Why did you release this plugin? = + +It was useful to me and I wanted to work through the process of releasing a WordPress plugin. + += Why shouldn't this just be added to a theme's functions.php file? = + +Upgradeability, portability, backwards compatibility, and other *abilities. If for some reason this function were in need of customization due to a WordPress version upgrade, the plugin will be centrally responsible for releasing the fix as opposed to updating the theme(s). + +== Changelog == + += 1.0.0 = + +* Initial release + +== Upgrade Notice == + diff --git a/src/wp-content/plugins/make-filename-lowercase/screenshot-1.png b/src/wp-content/plugins/make-filename-lowercase/screenshot-1.png new file mode 100644 index 0000000..fd7e9d4 Binary files /dev/null and b/src/wp-content/plugins/make-filename-lowercase/screenshot-1.png differ diff --git a/src/wp-content/plugins/make-filename-lowercase/screenshot-2.png b/src/wp-content/plugins/make-filename-lowercase/screenshot-2.png new file mode 100644 index 0000000..ccf497d Binary files /dev/null and b/src/wp-content/plugins/make-filename-lowercase/screenshot-2.png differ diff --git a/src/wp-content/plugins/make-filename-lowercase/screenshot-3.png b/src/wp-content/plugins/make-filename-lowercase/screenshot-3.png new file mode 100644 index 0000000..baea68a Binary files /dev/null and b/src/wp-content/plugins/make-filename-lowercase/screenshot-3.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/colorpicker.css b/src/wp-content/plugins/sticky_menu/hades_framework/css/colorpicker.css new file mode 100644 index 0000000..aa63acc --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/css/colorpicker.css @@ -0,0 +1,177 @@ +.colorpicker { + width: 356px; + height: 176px; + overflow: hidden; + position: absolute; + background: url(images/colorpicker_background.png); + font-family: Arial, Helvetica, sans-serif; + display: none; + z-index:9999; +} +.colorpicker_color { + width: 150px; + height: 150px; + left: 14px; + top: 13px; + position: absolute; + background: #f00; + overflow: hidden; + cursor: crosshair; +} +.colorpicker_color div { + position: absolute; + top: 0; + left: 0; + width: 150px; + height: 150px; + background: url(images/colorpicker_overlay.png); +} +.colorpicker_color div div { + position: absolute; + top: 0; + left: 0; + width: 11px; + height: 11px; + overflow: hidden; + background: url(images/colorpicker_select.gif); + margin: -5px 0 0 -5px; +} +.colorpicker_hue { + position: absolute; + top: 13px; + left: 171px; + width: 35px; + height: 150px; + cursor: n-resize; +} +.colorpicker_hue div { + position: absolute; + width: 35px; + height: 9px; + overflow: hidden; + background: url(images/colorpicker_indic.gif) left top; + margin: -4px 0 0 0; + left: 0px; +} +.colorpicker_new_color { + position: absolute; + width: 60px; + height: 30px; + left: 213px; + top: 13px; + background: #f00; +} +.colorpicker_current_color { + position: absolute; + width: 60px; + height: 30px; + left: 283px; + top: 13px; + background: #f00; +} +.colorpicker input { + background-color: transparent; + border: 1px solid transparent; + position: absolute; + font-size: 10px; + font-family: Arial, Helvetica, sans-serif; + color: #898989; + top: 4px; + right: 11px; + text-align: right; + margin: 0; + padding: 0; + height: 11px; +} +.colorpicker_hex { + position: absolute; + width: 72px; + height: 22px; + background: url(images/colorpicker_hex.png) top; + left: 212px; + top: 142px; +} +.colorpicker_hex input { + right: 6px; +} +.colorpicker_field { + height: 22px; + width: 62px; + background-position: top; + position: absolute; +} +.colorpicker_field span { + position: absolute; + width: 12px; + height: 22px; + overflow: hidden; + top: 0; + right: 0; + cursor: n-resize; +} +.colorpicker_rgb_r { + background-image: url(images/colorpicker_rgb_r.png); + top: 52px; + left: 212px; +} +.colorpicker_rgb_g { + background-image: url(images/colorpicker_rgb_g.png); + top: 82px; + left: 212px; +} +.colorpicker_rgb_b { + background-image: url(images/colorpicker_rgb_b.png); + top: 112px; + left: 212px; +} +.colorpicker_hsb_h { + background-image: url(images/colorpicker_hsb_h.png); + top: 52px; + left: 282px; +} +.colorpicker_hsb_s { + background-image: url(images/colorpicker_hsb_s.png); + top: 82px; + left: 282px; +} +.colorpicker_hsb_b { + background-image: url(images/colorpicker_hsb_b.png); + top: 112px; + left: 282px; +} +.colorpicker_submit { + position: absolute; + width: 22px; + height: 22px; + background: url(images/colorpicker_submit.png) top; + left: 322px; + top: 142px; + overflow: hidden; +} +.colorpicker_focus { + background-position: center; +} +.colorpicker_hex.colorpicker_focus { + background-position: bottom; +} +.colorpicker_submit.colorpicker_focus { + background-position: bottom; +} +.colorpicker_slider { + background-position: bottom; +} + +#colorSelector , #bgcolorSelector { + position: relative; + width: 36px; + height: 36px; + background: url(images/select.png); +} +#colorSelector div , #bgcolorSelector div { + position: absolute; + top: 3px; + left: 3px; + width: 30px; + height: 30px; + background: url(images/select.png) center; +} \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/global.css b/src/wp-content/plugins/sticky_menu/hades_framework/css/global.css new file mode 100644 index 0000000..837af82 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/css/global.css @@ -0,0 +1,185 @@ +/* CSS Document */ + +.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.clearfix { display: inline-block; *zoom:1;} +* html .clearfix { height: 1%; } /* Hides from IE-mac \*/ +.clearfix { display: block; } + +.hades-widget-custom .widget-top{ border:1px solid #d6d6d6!important; background:url(i/hades-widget-header.jpg) top left no-repeat!important; -moz-box-shadow:0px 0px 3px #d6d6d6; -webkit-box-shadow:0px 0px 3px #d6d6d6; box-shadow:0px 0px 3px #d6d6d6; } +.hades_information { background:#f6f3d5; border:1px solid #e7e2bc; border-radius:2px; -moz-border-radius:2px; display:block; padding:10px 30px; color:#5e5638; font-weight:100; font-style:italic; font-size:10px!important; line-height:1.6; margin-right:20px; margin-top:15px; position:relative; margin-left:20px; } +.hades_information p { padding:0px 4px; display:block; } +.hades_information .info-icon { } +p.info-text { font-size: 11px; color: #777; padding:10px; } +/* =============================================================== */ +/* ----------------------- Shortcode Styling --------------------- */ +/* =============================================================== */ + +.shortcode-wrapper {background: none!important; } +.shortcode-wrapper { } +.shortcode-wrapper .top-panel{ background: none!important; } +.shortcode-wrapper .top-panel .button { margin:11px 0px 10px 5px; } +.shortcode-wrapper .top-panel select , .shortcode-wrapper .top-panel label , .shortcode-wrapper .top-panel a { float:left; } + +.shortcode-wrapper>div { background: #eee!important;} +.shortcode-wrapper .hades_input { background:none!important; margin:0!important; padding-bottom:10px!important; } +.shortcode-wrapper .top-panel select {font-size: 11px!important; color: #777; margin-top:10px; } +.shortcode-wrapper .top-panel label { margin-top:13px; margin-right:5px; } +.shortcode-wrapper .top-panel .add-button { display: inline-block;background:url(i/add-shortcode.png) no-repeat!important; cursor:pointer; width: 129px!important; height: 50px!important;text-indent: -9999px!important;border: none; margin-top:2px;} + +.shortcode-wrapper .top-panel .done-button {display: inline-block; background:url(i/done-shortcode.png) no-repeat!important; cursor:pointer; width: 94px!important; height: 50px!important;text-indent: -9999px!important;border: none;} +.preview-panel { float:right; } +.preview-panel span { float:left; margin-right:5px; margin-top:7px; } +.preview-panel a{ display: float:left; height:26px!important; padding:10px 25px 0px 25px!important; font-size:14px!important; font-weight:700!important; text-transform:uppercase!important; text-decoration:none; color:#fff; border:1px solid transparent; } +.preview-panel a.glass { background:url(i/glass.png) repeat-x;} +.preview-panel a.shade { background:url(i/soft-shade.png) repeat-x;} + +.styled ul { padding:5px; margin:0; display:block; } +.styled ul li { padding:4px 4px 4px 20px; margin:4px 0px 4px 0px; line-height:1.3; } +.styled ul li a { text-decoration:none; } +.arrow ul li{ background:url(i/list-bg-arrow.png) 0px 5px no-repeat; } +.clip ul li{ background:url(i/list-bg-clip.png) 0px 5px no-repeat; } +.cross ul li{ background:url(i/list-bg-cross.png) 0px 5px no-repeat; } +.folder ul li{ background:url(i/list-bg-folder.png) 0px 5px no-repeat; } +.info ul li{ background:url(i/list-bg-info.png) 0px 5px no-repeat; } +.music ul li{ background:url(i/list-bg-music.png) 0px 5px no-repeat; } +.note ul li{ background:url(i/list-bg-note.png) 0px 5px no-repeat; } +.picture ul li{ background:url(i/list-bg-picture.png) 0px 5px no-repeat; } +.rounded-tick ul li{ background:url(i/list-bg-rounded-tick.png) 0px 5px no-repeat; } +.tick ul li{ background:url(i/list-bg-tick.png) 0px 5px no-repeat; } + +/* ============== Global Loading Icon =============== */ +.ajax_loading_icon { background:url(i/89.gif) center center no-repeat; width:16px; height:16px; display:block; float:left; margin:30px 10px 10px 30px; visibility:hidden; opacity:0; } + +/* =============================================================== */ +/* ----------------------- Custom Gallery Type ------------------- */ +/* =============================================================== */ + + +#hades_gallery { background:#f7f9fa; border:1px solid #c1c1c1; margin:0; } +#hades_gallery .toppanel { background:url(i/head-bg.jpg) repeat-x; height:45px ; position:relative; z-index:2; border-bottom:1px solid #cfcfcf;} + +#addslide { margin:8px 0px 2px 10px; float:left; } +#hades_gallery .slide-head { height:43px; background:#ffffff; border-bottom:1px solid #cecece; } + +#hades_gallery .slider-lists { margin:0; padding:0; } +#hades_gallery .slider-lists ul li { margin:0; padding:0; } + +#hades_gallery .delete-slide-button { background:url(i/delete.png) top right no-repeat; color:#fff; text-transform:uppercase; font-weight:900; text-decoration:none; padding:2px 18px 2px 8px; float:right; border:1px solid #a51506; border-radius:4px; -moz-border-radius:4px; font-size:9px; margin:10px 10px 0px 0px; } +#hades_gallery a.delete-slide-button:hover { color:#fff; -moz-box-shadow:0px 0px 4px #c01737; } + +#hades_gallery .min-slide-button { background:url(i/toggle-minimized.png) top right no-repeat; color:#373a3f; text-transform:uppercase; font-weight:900; text-decoration:none; padding:2px 22px 2px 8px; float:right; border:1px solid #cecece; border-radius:4px; -moz-border-radius:4px; font-size:9px; margin:10px 10px 0px 0px; } +#hades_gallery .max-slide-button { background: url(i/toggle-maximized.png) top right no-repeat; color:#373a3f; text-transform:uppercase; font-weight:900; text-decoration:none; padding:2px 22px 2px 8px; float:right; border:1px solid #cecece; border-radius:4px; -moz-border-radius:4px; font-size:9px; margin:10px 10px 0px 0px; } + +#hades_gallery .imageholder { width:200px; float:left; padding:30px 10px 30px 40px; } +#hades_gallery .imageholder img { display:block; width:113px; height:76px; border:5px solid #fff; -moz-box-shadow:1px 1px 4px #ccc; } +#hades_gallery .imageholder span { color:#555; font-style:italic; display:block; margin-left:21px; margin-bottom:5px; } +#hades_gallery .selection { width:400px; float:left; padding:30px 10px 30px 20px; } +#hades_gallery .selection label { float:left; display:inline-block; margin-top:7px; margin-right:4px; } +#hades_gallery .info-panel { border-bottom:1px solid #e4e4e4; } +#hades_gallery .separator { border-bottom:1px solid #e4e4e4; padding:10px 10px; } +#hades_gallery .lseparator { padding:10px; } +#hades_gallery .separator label , .separator input[type=text] , .separator input[type=file] , .lseparator label , .lseparator textarea { float:left; } +#hades_gallery .separator label , .lseparator label { margin-top:4px; width:100px; } +#hades_gallery .lseparator textarea , .separator input[type=text]{ width:400px; } +#hades_gallery .drag-highlight { height:43px; background:#f4f4f4; border:1px dashed #111; border-radius:4px; -moz-border-radius:4px; } +.custom_upload_image_button { float:left; margin:1px 0px 0px 5px; } +#hades_gallery .slide-hide { display:none; } +#hades_gallery .image-url { font-size:11px; font-style:italic; color:#111; font-family:Georgia, "Times New Roman", Times, serif; margin-top:5px; margin-left:10px; float:left; } + + +/* =============================================================== */ +/* ----------------------- Global Input Style ------------------- */ +/* =============================================================== */ + +.hades_input { margin:10px 0px 10px 0px; padding:10px 0px 30px 0px; border-bottom:1px solid #d1d6d8; } +.hades_input label { display:block; font-weight:bold; text-shadow:0px 1px 1px #fff; padding:0px 13px 13px 10px; color:#333; float:left; width:180px; margin-top:5px; letter-spacing: -1px; } +.hades_input input[type=text] { text-align:left!important; width:280px; display:block; float:left; border:1px solid #ccc; color: #999; font-size: 10px;} +.hades_input textarea { text-align:left!important; width:280px; height:200px; display:block; float:left; border:1px solid #ccc; padding: 3px; font-size: 10px;} +.hades_input select , .hades_input input { display:none; float:left; padding:6px;} +.hades_input select { width:280px; height:35px!important; padding:5px 4px!important; color: 777; font-size: 10px;} +.hades_input small { padding:2px 5px 2px 30px; font-size:11px; float:right; margin-left:6px; position:relative; } + + +#intro_blurb_box input[type=text] , #intro_blurb_box textarea { width:96%; display:block; float:none!important; } + +/* =============================================================== */ +/* ----------------------- Mega Menu Styling --------------------- */ +/* =============================================================== */ + +.h-megamenu .admin-button { margin:4px 0px 6px 0px; padding:4px 8px!important; } +.h-megamenu p label { float:left; width:120px; } +.h-megamenu p input[type=checkbox] { float:left; } + +.h_megamenu_box input[type=checkbox] { margin:10px; float:left; } +.h_megamenu_box select { float:left; margin-top:7px; margin-left:10px; } +.h_megamenu_box select { padding:5px; } +.h_megamenu_box label { float:left; margin-top:8px; } + +.item-type-h-column , .item-type-h-widget , .item-type-hmenu , .h_megamenu_row_box { display:none; } +.hmenu_info { font-size:10px; font-style:inherit; color:#333333; display:block; margin:2px; background:#eee; } + + +.upload-area { display:block; padding:6px 2px; background:url(i/top-panel-bg.png) repeat-x!important; border-bottom:1px solid #ccc;width: 100%; } +.upload-area label { margin:6px 2px; float:left; width:80px; color:#333; font-weight: 900; letter-spacing: -1px;font-size:12px; padding:16px 5px 16px 20px; } +.upload-area .uploadify { float:left; margin:17px 4px 10px 10px; } + +.upload-area input { float:left; margin:17px 4px 10px 0px; padding:7px; } + +.upload-area .add-sidebar-button{ display:inline-block; background:url(i/add-sidebar-bg.png) no-repeat!important; margin-right:20px; float:left; margin-top: 14px;cursor:pointer; width: 104px; height: 42px; text-indent: -9999px;border: none!important;} + +.textbox { width:90%; } +.hide { display:none; } +/* =============================================================== */ +/* ----------------------- Managers Styling ---------------------- */ +/* =============================================================== */ + + +#hades_theme { background:#fafafa; border:1px solid #c1c1c1; margin:17px 25px 30px 22px; -moz-border-radius-topleft:5px; -moz-border-radius-topright:5px; border-top-left-radius:5px; border-top-right-radius:5px; -moz-box-shadow:0px 0px 0px 2px #f2f2f2; box-shadow:0px 0px 0px 2px #f2f2f2; -webkit-box-shadow:0px 0px 0px 2px #f2f2f2; } + +.hades_wrap { border-left:1px solid #fff; margin-top:10px; width:980px; } +.hades-head { background:#fafafa; height:80px ; position:relative; z-index:2; -moz-border-radius-topleft:5px; -moz-border-radius-topright:5px; border-top-left-radius:5px; border-top-right-radius:5px; border-bottom:1px solid #cfcfcf; } + +.hades-head #logo { background:url(i/logo.png) no-repeat; width:60px; height:60px; float:right; margin-top:10px; margin-right:20px; } +.hades_wrap .notice-bar { background:#fff; height:27px; border-bottom:1px solid #ccc; } +.hades_wrap .notice-bar p { margin:0; padding:6px 0 0 0; text-align:center; color:#333; font-size:11px; text-shadow:1px 1px 0px #fff; } + +.hades_section .submit { background:#fff; border-left:1px solid #cecece; display:block; padding:0px 10px 5px 3px; margin:0; width:821px; float:right; border-bottom:1px solid #cecece; } +.submit .admin-button , .top-panel .admin-button , .fontmanager .admin-button , .sidebarmanager .admin-button{ display:inline-block; background:url(i/save-bg.png) no-repeat!important; margin-right:20px; margin-bottom:20px; float:right; cursor:pointer; width: 120px; height: 40px; text-indent: -9999px;border: none;} +.fontmanager .admin-button , .sidebarmanager .admin-button { margin-top:10px; } + +.panel-reset , .add-sidebar-button{ display:inline-block; background:url(i/reset-bg.png) no-repeat!important; margin-right:20px; margin-bottom:20px; float:left; cursor:pointer; width: 90px; height: 40px; text-indent: -9999px;border: none!important;} + + +.top-panel { background:url(i/top-panel-bg.png) repeat-x!important; border-bottom:1px solid #cecece; margin:-10px 0px 0px; padding-left: 20px; padding-right: 20px; padding-top: 16px;} +.top-panel .admin-button { margin-right:0px; } +.top-panel .panel-reset { color:#54616a!important; margin-left:0px; } +.reset-form { float:left; width:200px!important; } + +.subpanel-sidemenu { width:185px; float:left; height:100%; display:block; position:relative; z-index:99; padding-top:0px; } +.subpanel-sidemenu li { display:block; border-bottom:1px solid #fff; margin:0; } +.subpanel-sidemenu li a { text-decoration:none; color:#777777;font-weight:900; display:block; padding:15px 10px 15px 18px; text-shadow:0px 1px 1px #fff; font-size:12px; border-bottom:1px solid #dae4e8; } +.subpanel-sidemenu li.ui-state-active { background:url(i/active-bg.jpg) top right no-repeat; color:#2b8eb3; margin-right:-15px; border-bottom:none; } +.subpanel-sidemenu li.ui-state-active a { background: url(i/basic.jpg) 10% 50% no-repeat; padding-left:41px; border-bottom:none; color:#262e34; } + +#hades_opts #panel-wrapper { width:835px; float:left; position:relative; display:block;} +#hades_opts #side-panel-wrapper { width:927px; float:left; position:relative; display:block; background: #fafafa;} +#hades_opts #font-panel-wrapper { width:927px; float:left; position:relative; display:block; background: #fafafa;} +#hades_opts #side-panel-wrapper .admin-button { display:inline-block; background:url(i/save-bg.png) no-repeat!important; margin-right:20px; margin-top:20px; float:right; cursor:pointer; width: 120px; height: 40px; text-indent: -9999px;border: none;} + +.sidebarmanager .active-sidebars li.sidebar-holder , .sidebarmanager .inactive-sidebars li.sidebar-holder{ background:#fafafa!important; border:1px dashed #ccc!important; width:250px; padding:8px; height:15px!important; -moz-box-shadow:none; box-shadow:none; -webkit-box-shadow:none; } + +.sidebarmanager .active-sidebars li , .inactive-sidebars li{ background: #333; border:1px solid #333; width:250px; position:relative; padding:8px; margin:-1px 0 20px 0 !important; display:block; border-radius:4px; -moz-border-radius:4px;-moz-box-shadow:0px 0px 2px #333; box-shadow:0px 0px 2px #333; -webkit-box-shadow:0px 0px 2px #333;color: #fff; line-height: 12px; cursor:move; } +.sidebarmanager .active-sidebars a.delete , .inactive-sidebars a.delete{ background:url(i/cancel.png) no-repeat; display:block; width:16px; height:16px; position:absolute; top:-8px; right:-7px; } +.sidebarmanager .inactive-sidebars li , .inactive-sidebars li{ background: #333; border:1px solid #333; width:250px; position:relative; padding:8px; margin:-1px 0 20px 0 !important; display:block; border-radius:4px; -moz-border-radius:4px;-moz-box-shadow:0px 0px 2px #333; box-shadow:0px 0px 2px #333; -webkit-box-shadow:0px 0px 2px #333;color: #fff; line-height: 12px;} +.sidebarmanager .inactive-sidebars a.delete , .inactive-sidebars a.delete{ background:url(i/cancel.png) no-repeat; display:block; width:16px; height:16px; position:absolute; top:-8px; right:-7px; } +.manage-sidebars { padding:10px; background:#fafafa; } +.active-sidebars , .inactive-sidebars{ margin-bottom: 30px;} +.sidebarmanager .active-wrapper { float:left;margin-top:10px; margin-left:20px; } +.sidebarmanager .active-wrapper h4{ border-bottom: 1px solid #ccc; padding-bottom: 5px;letter-spacing: -1px;} +.sidebarmanager .inactive-wrapper { float:right; margin-top:10px; margin-right:20px; } +.sidebarmanager .inactive-wrapper h4{ border-bottom: 1px solid #ccc; padding-bottom: 5px;letter-spacing: -1px;} +.uploaded-fonts { margin:20px; } +.uploaded-fonts p { background: url(i/head-bg.jpg) repeat-x; border:1px solid #d4d7de; width:510px; position:relative; padding:7px; margin:-1px 0 0 0 !important; display:block; } +.uploaded-fonts p span { } +.uploaded-fonts a.delete { background:url(i/cancel.png) no-repeat; display:block; width:16px; height:16px; position:absolute; top:-8px; right:-7px; } +.inactive-sidebars { padding:10px 0px; width:250px; margin-top:-10px; } diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/hades.css b/src/wp-content/plugins/sticky_menu/hades_framework/css/hades.css new file mode 100644 index 0000000..05a5882 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/css/hades.css @@ -0,0 +1,198 @@ +/* CSS Document */ + +.ajax_loading_icon { background:url(i/89.gif) center center no-repeat; width:16px; height:16px; display:block; float:left; margin:30px 10px 10px 30px; visibility:hidden; opacity:0; } +.hades_information { background:#f6f3d5; border:1px solid #e7e2bc; border-radius:2px; -moz-border-radius:2px; display:block; padding:10px 30px; color:#5e5638; font-weight:100; font-style:italic; font-size:10px!important; line-height:1.6; margin-right:20px; margin-top:15px; position:relative; margin-left:20px; } + +#hades_theme { background:#fafafa; border:1px solid #c1c1c1; margin:17px 25px 30px 22px; -moz-border-radius-topleft:5px; -moz-border-radius-topright:5px; border-top-left-radius:5px; border-top-right-radius:5px; -moz-box-shadow:0px 0px 0px 2px #f2f2f2; box-shadow:0px 0px 0px 2px #f2f2f2; -webkit-box-shadow:0px 0px 0px 2px #f2f2f2; } + +.hades_wrap { border-left:1px solid #fff; margin-top:10px; width:980px; } +.hades-head { background:#fafafa; height:80px ; position:relative; z-index:2; -moz-border-radius-topleft:5px; -moz-border-radius-topright:5px; border-top-left-radius:5px; border-top-right-radius:5px; border-bottom:1px solid #cfcfcf; } + +.hades-head #logo { background:url(i/logo.png) no-repeat; width:60px; height:60px; float:right; margin-top:10px; margin-right:20px; } +.hades_wrap .notice-bar { background:#fff; height:27px; border-bottom:1px solid #ccc; } +.hades_wrap .notice-bar p { margin:0; padding:6px 0 0 0; text-align:center; color:#333; font-size:11px; text-shadow:1px 1px 0px #fff; } + +.hades_section .submit { background:#fff; border-left:1px solid #cecece; display:block; padding:0px 10px 5px 3px; margin:0; width:821px; float:right; border-bottom:1px solid #cecece; } +.submit .admin-button , .top-panel .admin-button , .fontmanager .admin-button , .sidebarmanager .admin-button{ display:inline-block; background:url(i/save-bg.png) no-repeat!important; margin-right:20px; margin-bottom:20px; float:right; cursor:pointer; width: 120px; height: 40px; text-indent: -9999px;border: none;} +.fontmanager .admin-button , .sidebarmanager .admin-button { margin-top:10px; } + +.panel-reset , .add-sidebar-button{ display:inline-block; background:url(i/reset-bg.png) no-repeat!important; margin-right:20px; margin-bottom:20px; float:left; cursor:pointer; width: 90px; height: 40px; text-indent: -9999px;border: none!important;} + + +.top-panel { background:url(i/top-panel-bg.png) repeat-x!important; border-bottom:1px solid #cecece; margin:-10px 0px 0px; padding-left: 20px; padding-right: 20px; padding-top: 16px;} +.top-panel .admin-button { margin-right:0px; } +.top-panel .panel-reset { color:#54616a!important; margin-left:0px; } +.reset-form { float:left; width:200px!important; } + +.subpanel-sidemenu { width:185px; float:left; height:100%; display:block; position:relative; z-index:99; padding-top:0px; } +.subpanel-sidemenu li { display:block; border-bottom:1px solid #fff; margin:0; } +.subpanel-sidemenu li a { text-decoration:none; color:#777777;font-weight:900; display:block; padding:15px 10px 15px 18px; text-shadow:0px 1px 1px #fff; font-size:12px; border-bottom:1px solid #dae4e8; } +.subpanel-sidemenu li.ui-state-active { background:url(i/active-bg.jpg) top right no-repeat; color:#2b8eb3; margin-right:-15px; border-bottom:none; } +.subpanel-sidemenu li.ui-state-active a { background: url(i/basic.jpg) 10% 50% no-repeat; padding-left:41px; border-bottom:none; color:#262e34; } + +#hades_opts #panel-wrapper { width:835px; float:left; position:relative; display:block; clear:none!important; } +#hades_opts #side-panel-wrapper { width:927px; float:left; position:relative; display:block; background: #fafafa;} +#hades_opts #font-panel-wrapper { width:927px; float:left; position:relative; display:block; background: #fafafa;} +#hades_opts #side-panel-wrapper .admin-button { display:inline-block; background:url(i/save-bg.png) no-repeat!important; margin-right:20px; margin-top:20px; float:right; cursor:pointer; width: 120px; height: 40px; text-indent: -9999px;border: none;} + + +.hupload { float:left; width:300px; } +.success_message { opacity:0; visibility:hidden; height:0; } +.hades_input input[type=file] { display:block!important; width:300px; float:none!important; } +.hades_input { margin:10px 0px 10px 0px; padding:10px 0px 30px 0px; border-bottom:1px solid #d1d6d8; } +.hades_input label { display:block; font-weight:bold; text-shadow:0px 1px 1px #fff; padding:0px 13px 13px 10px; color:#333; float:left; width:180px; margin-top:5px; letter-spacing: -1px; clear:none!important; } +.hades_input input[type=text] { text-align:left!important; width:280px; display:block; float:left; border:1px solid #ccc; color: #999; font-size: 10px; clear:none!important;} +.hades_input textarea { text-align:left!important; width:280px; height:200px; display:block; float:left; border:1px solid #ccc; padding: 3px; font-size: 10px; clear:none!important;} +.hades_input select , .hades_input input { display:none; float:left; padding:6px; clear:none!important;} +.hades_input select { width:280px; height:35px!important; padding:5px 4px!important; color: 777; font-size: 10px; clear:none!important;} +.hades_input small { padding:2px 5px 2px 30px; font-size:11px; float:right; margin-left:6px; position:relative; clear:none!important; } +.hades_input .custom_upload_image_button{ float:left; margin:2px 3px 1px 5px; } +.hades_input small span { width:260px!important; display:block; padding:0; color:#777; clear:none!important;} + +.subtitle-heading { display:block; clear:left!important; width:98%; padding:10px; background:#fff; border-bottom:1px solid #ccc; margin-left: 0px; border-left: 1px solid #ccc; } +.subtitle-heading a { font-size:16px; text-decoration:none; font-weight: bold; letter-spacing: -1px;color: #d54e38; padding-left: 0px;} + +.hades_input input[type=checkbox] { margin-top:7px; display:block; } +.hades_input input[type=text]:focus ,textarea:focus { outline:none; } +.hades_input .ui-widget { float:left; } +.hades_input .ui-button { margin-left: -1px; margin-top:0px; } +.hades_input .ui-button-icon-only .ui-button-text { padding: 5px 10px; } +.hades_input .ui-autocomplete-input { margin: 0; padding: 0.48em 0 0.47em 0.45em; width:200px; } + +.height-small { height:120px; } +.height-medium { height:240px; } +.height-large { height:360px; } + +.width-small { width:100px!important; } +.width-medium { width:150px!important; } +.width-large { width:250px!important; } + +#themenav { background:#fafafa; position:relative; z-index:1; width:92px; float:left; clear:none!important; } +#themenav li { display:block; padding:10px 8px 0px 8px; margin-bottom:0; width:76px; height:76px; border-bottom:1px solid #ccc; } +#themenav li a { text-decoration:none; color:#777; display:block; padding:10px 8px 7px 8px; font-size:12px; text-align:center; line-height: 30px;letter-spacing: -1px;text-shadow:1px 1px 0px #fff;} +#themenav li a.font-manager span { background:url(i/edit.png) center center no-repeat; } +#themenav li a.sidebar-manager span { background: #fff url(i/application-sidebar-list.png) center center no-repeat; } +#themenav li.ui-state-active { background:#fff; display:block; border-bottom:1px solid #ccc; } +#themenav li.ui-state-active a {text-decoration:none; color:#333; display:block; letter-spacing: -1px; align:center;} +#themenav li a>span { display:block; width:30px; height:30px; margin:0px auto; } + +#themenav li.ui-state-active #menu_General>span{ background:url(i/menu-sprite.png) 0px 0px no-repeat; } +#themenav li #menu_General>span{ background:url(i/menu-sprite.png) 0px -40px no-repeat; } + +#themenav li.ui-state-active #menu_Homepage>span{ background:url(i/menu-sprite.png) -40px 0px no-repeat; } +#themenav li #menu_Homepage>span{ background:url(i/menu-sprite.png) -40px -40px no-repeat; } + +#themenav li.ui-state-active #menu_Blog>span{ background:url(i/menu-sprite.png) -80px 0px no-repeat; } +#themenav li #menu_Blog>span{ background:url(i/menu-sprite.png) -80px -40px no-repeat; } + +#themenav li.ui-state-active #menu_Typography>span{ background:url(i/menu-sprite.png) -123px 0px no-repeat; } +#themenav li #menu_Typography>span{ background:url(i/menu-sprite.png) -123px -40px no-repeat; } + +#themenav li.ui-state-active #menu_Media>span{ background:url(i/menu-sprite.png) -161px 0px no-repeat; } +#themenav li #menu_Media>span{ background:url(i/menu-sprite.png) -161px -40px no-repeat; } + +#themenav li.ui-state-active #menu_Sidebars>span{ background:url(i/menu-sprite.png) -200px 0px no-repeat; } +#themenav li #menu_Sidebars>span{ background:url(i/menu-sprite.png) -200px -40px no-repeat; } + +#themenav li.ui-state-active #menu_Misc>span{ background:url(i/menu-sprite.png) -200px -5px no-repeat; } +#themenav li #menu_Misc>span{ background:url(i/menu-sprite.png) -240px -45px no-repeat; } + +#themenav li.ui-state-active #menu_Visual>span{ background:url(i/menu-sprite.png) -239px -1px no-repeat; } +#themenav li #menu_Visual>span{ background:url(i/menu-sprite.png) -239px -41px no-repeat; } + +#themenav li.ui-state-active #menu_Menu>span{ background:url(i/menu-sprite.png) -200px -1px no-repeat; } +#themenav li #menu_Visual>span{ background:url(i/menu-sprite.png) -239px -41px no-repeat; } + +.hades_section { padding:0px; } + + + + + +.hades_options { margin:0px; padding:0;background:#fff; } +.subpanel { background:#fafafa; } +.hades_subpanel { float:left; background:#fafafa; padding:5px 0px 0px ; border-left:1px solid #ccc; width:838px;clear:none!important; } +.hades_input .ui-slider { float:left; } +.hades_input .slider-text { width:60px!important; margin-left:15px; border:1px solid #d8d8d8; -moz-box-shadow:1px 1px 2px #ddd; box-shadow:1px 1px 2px #ddd; -webkit-box-shadow:1px 1px 2px #ddd; padding:6px; margin-right:1px; margin-top:16px; } +.slider-suffix { padding:22px 3px 0px 5px!important; } +.hades_input .ui-slider { position: relative; text-align: left; background: url(i/slider-bar.png) repeat-x; margin-top:9px; width:250px;} +.hades_input .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width:21px; height:29px; cursor: pointer; background: url(i/handle.png) top left no-repeat; } +.hades_input .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.hades_input .ui-slider-horizontal { height:51px; } +.hades_input .ui-slider-horizontal .ui-slider-handle { top: 8px; margin-left:-20px; } +.hades_input .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.hades_input .ui-slider-horizontal .ui-slider-range-min { left: 0; } +.hades_input .ui-slider-horizontal .ui-slider-range-max { right: 0; } +.help>iframe{ width:97%; height:400px; border:1px solid #d9e5ea; -moz-box-shadow:0px 0px 3px #cfcfcf; box-shadow:0px 0px 3px #cfcfcf; -webkit-box-shadow:0px 0px 3px #cfcfcf } +.hades_input h6 { display:block;float:left; margin:0; padding:5px 5px 5px 0px; font-size:14px; font-weight:100; } +.cicon { background:url(i/colorpicker-icon.png) top left no-repeat!important; display:block; width:27px!important; height:16px!important; margin:6px 0px 0px 5px!important; padding:0!important; float:left!important} + + +.hades_input .ui-buttonset { height:24px!important; overflow:visible; border:none!important;} +.hades_input .ui-buttonset .ui-state-default { text-indent:-9999px; border:none!important; } +.hades_input .ui-buttonset .ui-state-active { text-indent:0px; background:none; border:none; } + +.hades_input .ui-buttonset label { margin:0!important; padding:6px 0 0 0!important; } + +.hades_input .ui-button { background:url(i/toggle-active-bg.png) no-repeat; display: inline-block; position: relative; padding: 0; margin:0; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; width:44px!important; height:38px!important; + } /* the overflow property removes extra width in IE */ + +.hades_input input.ui-button {padding: 9px 11px!important; } +/*button sets*/ +.hades_input .ui-buttonset { margin-top: 5px!important;width:89px!important; position:relative; float:left; border-radius:2px; -moz-border-radius:2px; } +.hades_input .on { border:none!important; background:url(i/toggle-bg-off.png) top left repeat-x!important;} +.hades_input .on .ui-state-active { border:none!important; top:0px!important; left:0px!important; } +.hades_input .on span{ text-shadow:1px 1px 1px #9c4f42; color:#fff!important;line-height: 11px;} +.hades_input .on .ui-state-default { border:1px solid #d3d3d3; top:-7px; left:-2px; } + +.hades_input .off .ui-state-active { border:none!important; top:0px!important; right:0px!important; } +.hades_input .off .ui-state-default { border:1px solid #d3d3d3; top:-7px; right:-4px;} +.hades_input .off .ui-state-default span { color:#fff; } +.hades_input .off { border-radius:2px!important; -moz-border-radius:2px!important; border:none!important; background:url(i/toggle-bg.png) top left repeat-x!important; } +.hades_input .off .ui-state-active { } +.hades_input .off span{ text-shadow:1px 1px 1px #7b9b52!important; color:#fff; line-height: 11px;} + +.hades_input .ui-buttonset .ui-button { margin-left: 0!important; } + +/* workarounds */ +.hades_input button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ +.hades_input .ui-helper-hidden-accessible { visibility:hidden; position:absolute; } + +/*select button styles*/ +.custom-select { float:left; text-decoration:none; cursor:pointer; position:relative; overflow:visible; width:280px; +background:#fff; font-weight:500!important; font-size:11px!important; letter-spacing:0px; border-radius:2px; -moz-border-radius:2px; border:noned8d8d8!important; +} +.custom-select:hover,.custom-select:focus,.custom-select-open { background-position:right center; border-color:#999; } +/*status text*/ +.custom-select-status { float:left; line-height:1.8; color:#444; padding:3px 8px; } +.custom-select-roletext { position: absolute; left: -99999px; } +/* button arrow icon*/ +.custom-select-button-icon { float:right; background: url(i/selectbox-up.png) top left no-repeat; height:28px; width:23px; display:block; } +.custom-select-open .custom-select-button-icon { background: url(i/selectbox-down.png) top left no-repeat; } + + +/*menu styles*/ +.custom-select-menu { border:1px solid #d8d8d8; background:#fff; z-index:999999; position:absolute; margin:0; padding:0; font-size:14px; width:280px; cursor: pointer; overflow: auto; overflow-x: hidden; } + +/*hidden menu state*/ +.custom-select-menu-hidden { display:none; font-size:11px!important;} + +/*li styles*/ +.custom-select-menu li { font-size: 11px!important;padding:0; margin:0; list-style:none; clear:both; border-bottom:1px solid #d8d8d8; } +.custom-select-menu li a { text-decoration:none; color:#777; display:block; cursor: pointer; padding:.5em 5px; } +.custom-select-menu li.hover-focus a{ color:#333; } +.custom-select-menu li.selected { background:#fff; color:#333; } +.custom-select-menu li.selected a {color: #333;text-decoration: underline; } + + +/* make sure first and last li's have round corners */ +.custom-select-menu li:first-child { -moz-border-radius-topright:4px; -webkit-border-top-right-radius:4px; border-top-right-radius:4px; -moz-border-radius-topleft:4px; -webkit-border-top-left-radius:4px; border-top-left-radius:4px; } +.custom-select-menu li:last-child { -moz-border-radius-bottomright:4px; -webkit-border-bottom-right-radius:4px; border-bottom-right-radius:4px; -moz-border-radius-bottomleft:4px; -webkit-border-bottom-left-radius:4px; border-bottom-left-radius:4px; border-bottom:none;} + + +/*hide native select*/ +.select-hidden { display: none; font-size: 11px;} +.select-wrapper { padding:0; float:left; background:#fff; border:1px solid #ccc; -moz-border-radius:4px; -webkit-border-radius:4px; border-radius:4px; margin-top: 5px; clear:none!important } +span.tooltip-tip { background:url(i/tooltip-tip.png) 0px 0px no-repeat!important; display:block!important; width:13px!important; height:23px!important; position:absolute; top:6px!important; left:-13px!important; } + \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/help.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/help.png new file mode 100644 index 0000000..3a4477f Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/help.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/89.gif b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/89.gif new file mode 100644 index 0000000..f92a25d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/89.gif differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/active-bg.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/active-bg.jpg new file mode 100644 index 0000000..294399d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/active-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/add-shortcode.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/add-shortcode.png new file mode 100644 index 0000000..4310e69 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/add-shortcode.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/add-sidebar-bg.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/add-sidebar-bg.png new file mode 100644 index 0000000..fdd72bf Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/add-sidebar-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/application-sidebar-list.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/application-sidebar-list.png new file mode 100644 index 0000000..bfc31f3 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/application-sidebar-list.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/basic.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/basic.jpg new file mode 100644 index 0000000..ebdb14b Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/basic.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/bg.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/bg.jpg new file mode 100644 index 0000000..b32f9c4 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/buy-now-bg.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/buy-now-bg.jpg new file mode 100644 index 0000000..eb245e8 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/buy-now-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/cancel.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/cancel.png new file mode 100644 index 0000000..c701825 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/cancel.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/colorpicker-icon.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/colorpicker-icon.png new file mode 100644 index 0000000..dd4c0bd Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/colorpicker-icon.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/date-bg.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/date-bg.png new file mode 100644 index 0000000..968a0e0 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/date-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/delete.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/delete.png new file mode 100644 index 0000000..2f1837f Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/delete.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/demo-bg.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/demo-bg.jpg new file mode 100644 index 0000000..56871c0 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/demo-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/done-shortcode.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/done-shortcode.png new file mode 100644 index 0000000..f061ba9 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/done-shortcode.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/edit.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/edit.png new file mode 100644 index 0000000..af0c052 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/edit.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/event.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/event.png new file mode 100644 index 0000000..413af23 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/event.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/filler-button-bg.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/filler-button-bg.jpg new file mode 100644 index 0000000..cee7caa Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/filler-button-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/gallery.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/gallery.png new file mode 100644 index 0000000..1e5b754 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/gallery.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/glass.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/glass.png new file mode 100644 index 0000000..9ae0609 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/glass.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/hades-widget-header.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/hades-widget-header.jpg new file mode 100644 index 0000000..cdebdf1 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/hades-widget-header.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/handle.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/handle.png new file mode 100644 index 0000000..7b3a0b9 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/handle.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/head-bg.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/head-bg.jpg new file mode 100644 index 0000000..3e93d9c Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/head-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/icon.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/icon.png new file mode 100644 index 0000000..ce3f37f Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/icon.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/image.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/image.png new file mode 100644 index 0000000..c485c20 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/image.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/info-bg.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/info-bg.jpg new file mode 100644 index 0000000..9ff49cf Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/info-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/info-iconl.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/info-iconl.png new file mode 100644 index 0000000..e4a5472 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/info-iconl.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-arrow.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-arrow.png new file mode 100644 index 0000000..1b43225 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-arrow.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-black.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-black.jpg new file mode 100644 index 0000000..3041261 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-black.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-blue.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-blue.jpg new file mode 100644 index 0000000..f128c2e Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-blue.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-brown.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-brown.jpg new file mode 100644 index 0000000..c1b7c92 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-brown.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-clip.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-clip.png new file mode 100644 index 0000000..ec1d7d8 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-clip.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-cross.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-cross.png new file mode 100644 index 0000000..8e1689d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-cross.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-cyan.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-cyan.jpg new file mode 100644 index 0000000..d73fb6d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-cyan.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-folder.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-folder.png new file mode 100644 index 0000000..68eccdc Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-folder.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-green.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-green.jpg new file mode 100644 index 0000000..a4fe01d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-green.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-grey.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-grey.jpg new file mode 100644 index 0000000..d1c4678 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-grey.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-info.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-info.png new file mode 100644 index 0000000..23580ec Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-info.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-light-brown.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-light-brown.jpg new file mode 100644 index 0000000..93214c6 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-light-brown.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-music.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-music.png new file mode 100644 index 0000000..2a9437a Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-music.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-note.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-note.png new file mode 100644 index 0000000..24ce314 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-note.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-orange.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-orange.jpg new file mode 100644 index 0000000..1cd551f Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-orange.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-peach.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-peach.jpg new file mode 100644 index 0000000..890f34a Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-peach.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-picture.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-picture.png new file mode 100644 index 0000000..50134f2 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-picture.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-pink.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-pink.jpg new file mode 100644 index 0000000..5dcd26a Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-pink.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-purple.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-purple.jpg new file mode 100644 index 0000000..55a1f68 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-purple.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-red.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-red.jpg new file mode 100644 index 0000000..130e2cd Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-red.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-rounded-tick.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-rounded-tick.png new file mode 100644 index 0000000..8b69c48 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-rounded-tick.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-tick-green.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-tick-green.png new file mode 100644 index 0000000..d9325ec Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-tick-green.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-tick.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-tick.png new file mode 100644 index 0000000..3ed171d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/list-bg-tick.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/logo-slice.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/logo-slice.jpg new file mode 100644 index 0000000..46eddbc Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/logo-slice.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/logo.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/logo.png new file mode 100644 index 0000000..8dc4864 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/logo.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/main-menu-bg.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/main-menu-bg.png new file mode 100644 index 0000000..43c8263 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/main-menu-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/menu-sprite.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/menu-sprite.png new file mode 100644 index 0000000..5171411 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/menu-sprite.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/message.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/message.png new file mode 100644 index 0000000..e708416 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/message.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/notice-bar-bg.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/notice-bar-bg.png new file mode 100644 index 0000000..3312c8e Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/notice-bar-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/reset-bg.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/reset-bg.png new file mode 100644 index 0000000..431f419 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/reset-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/reset-button-bg.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/reset-button-bg.jpg new file mode 100644 index 0000000..ea5d726 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/reset-button-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/save-bg.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/save-bg.png new file mode 100644 index 0000000..8390013 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/save-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/save-button-bg.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/save-button-bg.jpg new file mode 100644 index 0000000..1450fe3 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/save-button-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/selectbox-down.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/selectbox-down.jpg new file mode 100644 index 0000000..ba01d60 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/selectbox-down.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/selectbox-down.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/selectbox-down.png new file mode 100644 index 0000000..74d2f62 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/selectbox-down.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/selectbox-up.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/selectbox-up.jpg new file mode 100644 index 0000000..184ea4e Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/selectbox-up.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/selectbox-up.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/selectbox-up.png new file mode 100644 index 0000000..8b935af Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/selectbox-up.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/sidemenu-bg.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/sidemenu-bg.jpg new file mode 100644 index 0000000..edab1b6 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/sidemenu-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/sidemenu-separator.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/sidemenu-separator.jpg new file mode 100644 index 0000000..f41b010 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/sidemenu-separator.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/slider-bar.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/slider-bar.png new file mode 100644 index 0000000..719317a Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/slider-bar.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/soft-shade.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/soft-shade.png new file mode 100644 index 0000000..e14a0b5 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/soft-shade.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/submit-separator.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/submit-separator.jpg new file mode 100644 index 0000000..4c1a6b0 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/submit-separator.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/tab-active.jpg b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/tab-active.jpg new file mode 100644 index 0000000..9ff6fa9 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/tab-active.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-active-bg.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-active-bg.png new file mode 100644 index 0000000..f5bc43d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-active-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-active.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-active.png new file mode 100644 index 0000000..2a5df55 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-active.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-bg-off.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-bg-off.png new file mode 100644 index 0000000..833faf4 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-bg-off.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-bg.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-bg.png new file mode 100644 index 0000000..614a257 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-handle-bg.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-handle-bg.png new file mode 100644 index 0000000..33b6e01 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-handle-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-inactive.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-inactive.png new file mode 100644 index 0000000..d2e603d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-inactive.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-maximized.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-maximized.png new file mode 100644 index 0000000..9426722 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-maximized.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-minimized.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-minimized.png new file mode 100644 index 0000000..20e285a Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/toggle-minimized.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/i/top-panel-bg.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/top-panel-bg.png new file mode 100644 index 0000000..1dd7075 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/i/top-panel-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/blank.gif b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/blank.gif new file mode 100644 index 0000000..75b945d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/blank.gif differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_background.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_background.png new file mode 100644 index 0000000..8401572 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_background.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_hex.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_hex.png new file mode 100644 index 0000000..4e532d7 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_hex.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_hsb_b.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_hsb_b.png new file mode 100644 index 0000000..dfac595 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_hsb_b.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_hsb_h.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_hsb_h.png new file mode 100644 index 0000000..3977ed9 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_hsb_h.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_hsb_s.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_hsb_s.png new file mode 100644 index 0000000..a2a6997 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_hsb_s.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_indic.gif b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_indic.gif new file mode 100644 index 0000000..f9fa95e Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_indic.gif differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_overlay.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_overlay.png new file mode 100644 index 0000000..561cdd9 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_overlay.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_rgb_b.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_rgb_b.png new file mode 100644 index 0000000..dfac595 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_rgb_b.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_rgb_g.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_rgb_g.png new file mode 100644 index 0000000..72b3276 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_rgb_g.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_rgb_r.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_rgb_r.png new file mode 100644 index 0000000..4855fe0 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_rgb_r.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_select.gif b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_select.gif new file mode 100644 index 0000000..599f7f1 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_select.gif differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_submit.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_submit.png new file mode 100644 index 0000000..7f4c082 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/colorpicker_submit.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_background.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_background.png new file mode 100644 index 0000000..cf55ffd Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_background.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_hex.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_hex.png new file mode 100644 index 0000000..888f444 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_hex.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_hsb_b.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_hsb_b.png new file mode 100644 index 0000000..2f99dae Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_hsb_b.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_hsb_h.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_hsb_h.png new file mode 100644 index 0000000..a217e92 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_hsb_h.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_hsb_s.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_hsb_s.png new file mode 100644 index 0000000..7826b41 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_hsb_s.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_indic.gif b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_indic.gif new file mode 100644 index 0000000..222fb94 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_indic.gif differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_rgb_b.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_rgb_b.png new file mode 100644 index 0000000..80764e5 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_rgb_b.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_rgb_g.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_rgb_g.png new file mode 100644 index 0000000..fc9778b Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_rgb_g.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_rgb_r.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_rgb_r.png new file mode 100644 index 0000000..91b0cd4 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_rgb_r.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_submit.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_submit.png new file mode 100644 index 0000000..cd202cd Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/custom_submit.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/select.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/select.png new file mode 100644 index 0000000..21213bf Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/select.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/select2.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/select2.png new file mode 100644 index 0000000..2cd2cab Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/select2.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/images/slider.png b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/slider.png new file mode 100644 index 0000000..8b03da9 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/hades_framework/css/images/slider.png differ diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/css/layout.css b/src/wp-content/plugins/sticky_menu/hades_framework/css/layout.css new file mode 100644 index 0000000..e69de29 diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/js/colorpicker.js b/src/wp-content/plugins/sticky_menu/hades_framework/js/colorpicker.js new file mode 100644 index 0000000..45f56ce --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/js/colorpicker.js @@ -0,0 +1,484 @@ +/** + * + * Color picker + * Author: Stefan Petre www.eyecon.ro + * + * Dual licensed under the MIT and GPL licenses + * + */ +(function ($) { + var ColorPicker = function () { + var + ids = {}, + inAction, + charMin = 65, + visible, + tpl = '
        ', + defaults = { + eventName: 'click', + onShow: function () {}, + onBeforeShow: function(){}, + onHide: function () {}, + onChange: function () {}, + onSubmit: function () {}, + color: 'ff0000', + livePreview: true, + flat: false + }, + fillRGBFields = function (hsb, cal) { + var rgb = HSBToRGB(hsb); + $(cal).data('colorpicker').fields + .eq(1).val(rgb.r).end() + .eq(2).val(rgb.g).end() + .eq(3).val(rgb.b).end(); + }, + fillHSBFields = function (hsb, cal) { + $(cal).data('colorpicker').fields + .eq(4).val(hsb.h).end() + .eq(5).val(hsb.s).end() + .eq(6).val(hsb.b).end(); + }, + fillHexFields = function (hsb, cal) { + $(cal).data('colorpicker').fields + .eq(0).val(HSBToHex(hsb)).end(); + }, + setSelector = function (hsb, cal) { + $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100})); + $(cal).data('colorpicker').selectorIndic.css({ + left: parseInt(150 * hsb.s/100, 10), + top: parseInt(150 * (100-hsb.b)/100, 10) + }); + }, + setHue = function (hsb, cal) { + $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10)); + }, + setCurrentColor = function (hsb, cal) { + $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb)); + }, + setNewColor = function (hsb, cal) { + $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb)); + }, + keyDown = function (ev) { + var pressedKey = ev.charCode || ev.keyCode || -1; + if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) { + return false; + } + var cal = $(this).parent().parent(); + if (cal.data('colorpicker').livePreview === true) { + change.apply(this); + } + }, + change = function (ev) { + var cal = $(this).parent().parent(), col; + if (this.parentNode.className.indexOf('_hex') > 0) { + cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value)); + } else if (this.parentNode.className.indexOf('_hsb') > 0) { + cal.data('colorpicker').color = col = fixHSB({ + h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10), + s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10), + b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10) + }); + } else { + cal.data('colorpicker').color = col = RGBToHSB(fixRGB({ + r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10), + g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10), + b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10) + })); + } + if (ev) { + fillRGBFields(col, cal.get(0)); + fillHexFields(col, cal.get(0)); + fillHSBFields(col, cal.get(0)); + } + setSelector(col, cal.get(0)); + setHue(col, cal.get(0)); + setNewColor(col, cal.get(0)); + cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]); + }, + blur = function (ev) { + var cal = $(this).parent().parent(); + cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus'); + }, + focus = function () { + charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65; + $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus'); + $(this).parent().addClass('colorpicker_focus'); + }, + downIncrement = function (ev) { + var field = $(this).parent().find('input').focus(); + var current = { + el: $(this).parent().addClass('colorpicker_slider'), + max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255), + y: ev.pageY, + field: field, + val: parseInt(field.val(), 10), + preview: $(this).parent().parent().data('colorpicker').livePreview + }; + $(document).bind('mouseup', current, upIncrement); + $(document).bind('mousemove', current, moveIncrement); + }, + moveIncrement = function (ev) { + ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10)))); + if (ev.data.preview) { + change.apply(ev.data.field.get(0), [true]); + } + return false; + }, + upIncrement = function (ev) { + change.apply(ev.data.field.get(0), [true]); + ev.data.el.removeClass('colorpicker_slider').find('input').focus(); + $(document).unbind('mouseup', upIncrement); + $(document).unbind('mousemove', moveIncrement); + return false; + }, + downHue = function (ev) { + var current = { + cal: $(this).parent(), + y: $(this).offset().top + }; + current.preview = current.cal.data('colorpicker').livePreview; + $(document).bind('mouseup', current, upHue); + $(document).bind('mousemove', current, moveHue); + }, + moveHue = function (ev) { + change.apply( + ev.data.cal.data('colorpicker') + .fields + .eq(4) + .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10)) + .get(0), + [ev.data.preview] + ); + return false; + }, + upHue = function (ev) { + fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + $(document).unbind('mouseup', upHue); + $(document).unbind('mousemove', moveHue); + return false; + }, + downSelector = function (ev) { + var current = { + cal: $(this).parent(), + pos: $(this).offset() + }; + current.preview = current.cal.data('colorpicker').livePreview; + $(document).bind('mouseup', current, upSelector); + $(document).bind('mousemove', current, moveSelector); + }, + moveSelector = function (ev) { + change.apply( + ev.data.cal.data('colorpicker') + .fields + .eq(6) + .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10)) + .end() + .eq(5) + .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10)) + .get(0), + [ev.data.preview] + ); + return false; + }, + upSelector = function (ev) { + fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + $(document).unbind('mouseup', upSelector); + $(document).unbind('mousemove', moveSelector); + return false; + }, + enterSubmit = function (ev) { + $(this).addClass('colorpicker_focus'); + }, + leaveSubmit = function (ev) { + $(this).removeClass('colorpicker_focus'); + }, + clickSubmit = function (ev) { + var cal = $(this).parent(); + var col = cal.data('colorpicker').color; + cal.data('colorpicker').origColor = col; + setCurrentColor(col, cal.get(0)); + cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el); + }, + show = function (ev) { + var cal = $('#' + $(this).data('colorpickerId')); + cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]); + var pos = $(this).offset(); + var viewPort = getViewport(); + var top = pos.top + this.offsetHeight; + var left = pos.left; + if (top + 176 > viewPort.t + viewPort.h) { + top -= this.offsetHeight + 176; + } + if (left + 356 > viewPort.l + viewPort.w) { + left -= 356; + } + cal.css({left: left + 'px', top: top + 'px'}); + if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) { + cal.show(); + } + $(document).bind('mousedown', {cal: cal}, hide); + return false; + }, + hide = function (ev) { + if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) { + if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) { + ev.data.cal.hide(); + } + $(document).unbind('mousedown', hide); + } + }, + isChildOf = function(parentEl, el, container) { + if (parentEl == el) { + return true; + } + if (parentEl.contains) { + return parentEl.contains(el); + } + if ( parentEl.compareDocumentPosition ) { + return !!(parentEl.compareDocumentPosition(el) & 16); + } + var prEl = el.parentNode; + while(prEl && prEl != container) { + if (prEl == parentEl) + return true; + prEl = prEl.parentNode; + } + return false; + }, + getViewport = function () { + var m = document.compatMode == 'CSS1Compat'; + return { + l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft), + t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop), + w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth), + h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight) + }; + }, + fixHSB = function (hsb) { + return { + h: Math.min(360, Math.max(0, hsb.h)), + s: Math.min(100, Math.max(0, hsb.s)), + b: Math.min(100, Math.max(0, hsb.b)) + }; + }, + fixRGB = function (rgb) { + return { + r: Math.min(255, Math.max(0, rgb.r)), + g: Math.min(255, Math.max(0, rgb.g)), + b: Math.min(255, Math.max(0, rgb.b)) + }; + }, + fixHex = function (hex) { + var len = 6 - hex.length; + if (len > 0) { + var o = []; + for (var i=0; i -1) ? hex.substring(1) : hex), 16); + return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)}; + }, + HexToHSB = function (hex) { + return RGBToHSB(HexToRGB(hex)); + }, + RGBToHSB = function (rgb) { + var hsb = { + h: 0, + s: 0, + b: 0 + }; + var min = Math.min(rgb.r, rgb.g, rgb.b); + var max = Math.max(rgb.r, rgb.g, rgb.b); + var delta = max - min; + hsb.b = max; + if (max != 0) { + + } + hsb.s = max != 0 ? 255 * delta / max : 0; + if (hsb.s != 0) { + if (rgb.r == max) { + hsb.h = (rgb.g - rgb.b) / delta; + } else if (rgb.g == max) { + hsb.h = 2 + (rgb.b - rgb.r) / delta; + } else { + hsb.h = 4 + (rgb.r - rgb.g) / delta; + } + } else { + hsb.h = -1; + } + hsb.h *= 60; + if (hsb.h < 0) { + hsb.h += 360; + } + hsb.s *= 100/255; + hsb.b *= 100/255; + return hsb; + }, + HSBToRGB = function (hsb) { + var rgb = {}; + var h = Math.round(hsb.h); + var s = Math.round(hsb.s*255/100); + var v = Math.round(hsb.b*255/100); + if(s == 0) { + rgb.r = rgb.g = rgb.b = v; + } else { + var t1 = v; + var t2 = (255-s)*v/255; + var t3 = (t1-t2)*(h%60)/60; + if(h==360) h = 0; + if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3} + else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3} + else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3} + else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3} + else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3} + else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3} + else {rgb.r=0; rgb.g=0; rgb.b=0} + } + return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)}; + }, + RGBToHex = function (rgb) { + var hex = [ + rgb.r.toString(16), + rgb.g.toString(16), + rgb.b.toString(16) + ]; + $.each(hex, function (nr, val) { + if (val.length == 1) { + hex[nr] = '0' + val; + } + }); + return hex.join(''); + }, + HSBToHex = function (hsb) { + return RGBToHex(HSBToRGB(hsb)); + }, + restoreOriginal = function () { + var cal = $(this).parent(); + var col = cal.data('colorpicker').origColor; + cal.data('colorpicker').color = col; + fillRGBFields(col, cal.get(0)); + fillHexFields(col, cal.get(0)); + fillHSBFields(col, cal.get(0)); + setSelector(col, cal.get(0)); + setHue(col, cal.get(0)); + setNewColor(col, cal.get(0)); + }; + return { + init: function (opt) { + opt = $.extend({}, defaults, opt||{}); + if (typeof opt.color == 'string') { + opt.color = HexToHSB(opt.color); + } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) { + opt.color = RGBToHSB(opt.color); + } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) { + opt.color = fixHSB(opt.color); + } else { + return this; + } + return this.each(function () { + if (!$(this).data('colorpickerId')) { + var options = $.extend({}, opt); + options.origColor = opt.color; + var id = 'collorpicker_' + parseInt(Math.random() * 1000); + $(this).data('colorpickerId', id); + var cal = $(tpl).attr('id', id); + if (options.flat) { + cal.appendTo(this).show(); + } else { + cal.appendTo(document.body); + } + options.fields = cal + .find('input') + .bind('keyup', keyDown) + .bind('change', change) + .bind('blur', blur) + .bind('focus', focus); + cal + .find('span').bind('mousedown', downIncrement).end() + .find('>div.colorpicker_current_color').bind('click', restoreOriginal); + options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector); + options.selectorIndic = options.selector.find('div div'); + options.el = this; + options.hue = cal.find('div.colorpicker_hue div'); + cal.find('div.colorpicker_hue').bind('mousedown', downHue); + options.newColor = cal.find('div.colorpicker_new_color'); + options.currentColor = cal.find('div.colorpicker_current_color'); + cal.data('colorpicker', options); + cal.find('div.colorpicker_submit') + .bind('mouseenter', enterSubmit) + .bind('mouseleave', leaveSubmit) + .bind('click', clickSubmit); + fillRGBFields(options.color, cal.get(0)); + fillHSBFields(options.color, cal.get(0)); + fillHexFields(options.color, cal.get(0)); + setHue(options.color, cal.get(0)); + setSelector(options.color, cal.get(0)); + setCurrentColor(options.color, cal.get(0)); + setNewColor(options.color, cal.get(0)); + if (options.flat) { + cal.css({ + position: 'relative', + display: 'block' + }); + } else { + $(this).bind(options.eventName, show); + } + } + }); + }, + showPicker: function() { + return this.each( function () { + if ($(this).data('colorpickerId')) { + show.apply(this); + } + }); + }, + hidePicker: function() { + return this.each( function () { + if ($(this).data('colorpickerId')) { + $('#' + $(this).data('colorpickerId')).hide(); + } + }); + }, + setColor: function(col) { + if (typeof col == 'string') { + col = HexToHSB(col); + } else if (col.r != undefined && col.g != undefined && col.b != undefined) { + col = RGBToHSB(col); + } else if (col.h != undefined && col.s != undefined && col.b != undefined) { + col = fixHSB(col); + } else { + return this; + } + return this.each(function(){ + if ($(this).data('colorpickerId')) { + var cal = $('#' + $(this).data('colorpickerId')); + cal.data('colorpicker').color = col; + cal.data('colorpicker').origColor = col; + fillRGBFields(col, cal.get(0)); + fillHSBFields(col, cal.get(0)); + fillHexFields(col, cal.get(0)); + setHue(col, cal.get(0)); + setSelector(col, cal.get(0)); + setCurrentColor(col, cal.get(0)); + setNewColor(col, cal.get(0)); + } + }); + } + }; + }(); + $.fn.extend({ + ColorPicker: ColorPicker.init, + ColorPickerHide: ColorPicker.hidePicker, + ColorPickerShow: ColorPicker.showPicker, + ColorPickerSetColor: ColorPicker.setColor + }); +})(jQuery) \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/js/global.js b/src/wp-content/plugins/sticky_menu/hades_framework/js/global.js new file mode 100644 index 0000000..ee82d1e --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/js/global.js @@ -0,0 +1,148 @@ +/* +* + +Author - Abhin Sharma (WPTitans) +Description - Contains global functions + +This code cannot be used anywhere without the permission of the Author. + +* +*/ + + + +jQuery(function($){ + +/* ========================================================================================================= */ +/* ================================= Code to invoke default WP Uploader ==================================== */ +/* ========================================================================================================= */ + +var pID = jQuery('#post_ID').val(),ed, + temp,wp_default_send_to_editor, override = false; + +// Listen to click for upload +jQuery('.custom_upload_image_button').live('click', + function (e) { + temp = jQuery(this); + override = true; // notify we are using the uploading system + + wp_default_send_to_editor = window.send_to_editor; + window.send_to_editor = function (html) { + + if(override==true) { + imgurl = jQuery('img', html).attr('src'); + temp.prev().val(imgurl); + override = false; + } + else { + wp_default_send_to_editor(html); + } + + tb_remove(); + + } + +tb_show('', 'media-upload.php?post_id='+pID+'&TB_iframe=true&type=image'); +return false; + + + }); + +/* ========================================================================================================= */ +/* ========================================= Widget Skinning Code ========================================== */ +/* ========================================================================================================= */ + +if($(".hades-custom").length>0) +$(".hades-custom").parents(".widget").addClass("hades-widget-custom"); + +/* ========================================================================================================= */ +/* ========================================= Delete the parent ============================================= */ +/* ========================================================================================================= */ + + +$(".uploaded-fonts a.delete , .sidebarmanager .active-sidebars a.delete , .sidebarmanager .inactive-sidebars a.delete").live("click",function(e){ + $(this).parent().remove(); + e.preventDefault(); + }); + + +/* ========================================================================================================= */ +/* =========================================== Sidebar Code ================================================ */ +/* ========================================================================================================= */ + +if($(".sidebarmanager .active-sidebars").length>0) { + + $(".sidebarmanager .active-sidebars").sortable({ placeholder:'sidebar-holder' ,connectWith: '.inactive-sidebars' + , stop: function(event, ui) { ui.item.find("input").attr("name","inactive_sidebars[]"); } + }); + $(".sidebarmanager .inactive-sidebars").sortable({ placeholder:'sidebar-holder' , connectWith: '.active-sidebars' + , stop: function(event, ui) { ui.item.find("input").attr("name","active_sidebars[]"); } + }); + + $(".add-sidebar-button").click(function(){ + + if(jQuery.trim($("#sidebar_name").val())=="") + return; + + $(".active-sidebars").prepend("
      • "+$("#sidebar_name").val()+"
      • "); + $("#sidebar_name").val("") + }); + } + + +$(".import_shortcode").live("click",function(){ + + ed = tinyMCE.activeEditor; + ed.focus(); + ed.execCommand('mceInsertContent', false, $(this).prev().val()); + + }); + +$(".done_shortcode").live("click",function(){ + + + if($(".shortcode_value").val()=="image") + { + var temp = jQuery("#TB_ajaxContent"),button = "[button border_radius='"+$("#shortcode_border_radius").val()+"' bg_color='"+rgb2hex(temp.find("#bgcolorSelector>div").css("background-color"))+"' color='"+rgb2hex(temp.find("#colorSelector>div").css("background-color"))+"' to='"+temp.find("#shortcode_link").val()+"' style='"+temp.find("#button-styler").val()+"'] "+temp.find("#button_title").val()+" [/button] "; + + ed = tinyMCE.activeEditor; + ed.focus(); + ed.execCommand('mceInsertContent', false, button); + } + else if($(".shortcode_value").val()=="list") + { + var temp = jQuery("#TB_ajaxContent"),button = "[list style='"+temp.find("#shortcode-list-preview").val()+"'] insert your list [/list] "; + + ed = tinyMCE.activeEditor; + ed.focus(); + ed.execCommand('mceInsertContent', false, button); + } + else if($(".shortcode_value").val()=="contact") + { + var temp = jQuery("#TB_ajaxContent"),form = "[contactform id='"+temp.find("#shortcode-contact-preview").val()+"' /] "; + ed = tinyMCE.activeEditor; + ed.focus(); + ed.execCommand('mceInsertContent', false, form); + } + + tb_remove(); + + }); + + +$("#shortcode-list-preview").live("change",function(){ + + $("#list-preview").removeClass(); + $("#list-preview").addClass($(this).val()+" styled"); + + }) + +}); + +function rgb2hex(rgb){ + rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); + return "#" + + ("0" + parseInt(rgb[1],10).toString(16)).slice(-2) + + ("0" + parseInt(rgb[2],10).toString(16)).slice(-2) + + ("0" + parseInt(rgb[3],10).toString(16)).slice(-2); +} \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/js/hades_script.js b/src/wp-content/plugins/sticky_menu/hades_framework/js/hades_script.js new file mode 100644 index 0000000..20237a4 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/js/hades_script.js @@ -0,0 +1,470 @@ +/* +* + +Author - Abhin Sharma (WPTitans) +This code cannot be used anywhere without the permission of the Author. + +* +*/ + +/* ========================================================================================================= */ +/* ================================= Code to invoke default WP Uploader ==================================== */ +/* ========================================================================================================= */ + +jQuery(function($) { + var temp,radio = $(".radio"),path = $("#option_path").val(); + var loading_icon = $(".ajax_loading_icon"); + + $(".admin-button").click(function(e){ + $(".success_message").css({ "visibility":"hidden" , "opacity":0 , "height":0 }); + + $('html, body').animate({scrollTop:0}, 'normal',function(){ + loading_icon.css("visibility","visible").animate({ opacity: 1 },"slow"); + + $.post( path , { action:"save" , values: $("#hades_option_form").serializeArray() }, + function(data){ + + + loading_icon.animate({ opacity: 0 },"slow", function(){ + $(this).css("visibility","hidden") + $(".success_message").css("visibility","visible").animate({ opacity:1 , height:40 },"slow"); + + }); + } + ); + + }); + + return false; + }); + + + $(".panel-reset").click(function(e){ + $(".reset-form").submit(); + e.preventDefault(); + }); + $( "#hades_opts" ).tabs({ fx: { opacity: 'toggle' } }); + + + + $('.hades_input select').selectmenu(); + radio.buttonset(); + + + radio.find("input[type=radio]" ).each(function(){ + temp = $(this); + if(temp.is(":checked")) { + if(temp.next().children("span").html()=="ON") + temp.parent('.ui-buttonset').removeClass('on').addClass('off'); + else + temp.parent('.ui-buttonset').removeClass('off').addClass('on'); + + } + }); + + radio.find("label" ).click(function(){ + if($(this).children("span").html()=="ON") + $(this).parent('.ui-buttonset').removeClass('on').addClass('off'); + else + $(this).parent('.ui-buttonset').removeClass('off').addClass('on'); + + }); + + + $( ".hades_input .hades_slider" ).each(function(){ + temp = $(this); + temp.slider({ + value: parseInt(temp.parent().find(".slider-val").val()), + min: 0, + max: parseInt(temp.parent().find(".max-slider-val").val()), + + slide: function( event, ui ) { + $(this).parent().find(".slider-text").val(ui.value); + } + }); + + }); + + + + $('.colorpickerField1').ColorPicker({ + + onSubmit: function(hsb, hex, rgb, el) { + + $(el).val(hex); + + $(el).ColorPickerHide(); + + }, + + onBeforeShow: function () { + temp = this; + $(this).ColorPickerSetColor(this.value); + + }, + + onShow: function (colpkr) { + $(colpkr).fadeIn(500); + return false; + }, + onHide: function (colpkr) { + $(colpkr).fadeOut(300); + return false; + }, + onChange: function (hsb, hex, rgb,el) { + $(temp).val(hex); + } + +}) + +.bind('keyup', function(){ + + $(this).ColorPickerSetColor(this.value); + +}); + +$(".cicon").click(function(){ $(this).prev().trigger('click'); }); + + + + + }); + + + +jQuery.fn.selectmenu = function(settings){ + + return jQuery(this).each(function(){ + //reference to this + var selectElement = jQuery(this); + + //config + var o = jQuery.extend({ + maxHeight: 300, + format: function(text){return text;} + }, settings); + + //add role to body CHECK IF IT HAS A ROLE FIRST + jQuery('body').attr('role','application'); + + //get select ID + var selectElementId = selectElement.attr('id'); + + //get initial selected index + var initialSelectedIndex = selectElement[0].selectedIndex; + + //get the selected option's text value + var selectedOptionText = selectElement.find('option').eq(initialSelectedIndex).text(); + var selectedOptionClass = selectElement.find('option').eq(initialSelectedIndex).attr('class') || ''; + + //supporting regex + var selectedOptionText = o.format(selectedOptionText); + + //get array of all select option classes, for quick removal + var allOptionClasses = selectElement.find('option') + //convert option classes to array + .map(function(){ return jQuery(this).attr('class') }) + //join array into string of classes separated by a space + .get().join(' '); + + //create IDs for button, menu + var buttonID = selectElement.attr('id') + '-button'; + var menuID = selectElement.attr('id') + '-menu'; + + //create empty menu button + var button = jQuery(''); + + //menu icon + var selectmenuStatus = jQuery(''+ selectedOptionText +'').appendTo(button); + var selectmenuIcon = jQuery('').appendTo(button); + var roleText = jQuery(' select').appendTo(button); + + //add selected option class + button.addClass(selectedOptionClass); + + //insert button after select + button.insertAfter(selectElement); + + //transfer tabindex from select, if it has one + if(selectElement.is('[tabindex]')){ + button.attr('tabindex', selectElement.attr('tabindex')); + } + + //associate form label to new button + jQuery('label[for='+selectElement.attr('id')+']') + .attr('for', buttonID) + .bind('click', function(){ + button.focus(); + return false; + }); + + //create menu ul + var menu = jQuery(''); + + + //find all option elements in selectElement + selectElement.find('option') + //iterate through each option element, tracking the index + .each(function(index){ + //create li with option's text and class attribute + var li = jQuery('
      • '+ o.format(jQuery(this).text()) +'
      • '); + + //check if option is selected + if(index == initialSelectedIndex){ + //add selected attributes + li.addClass('selected') + .attr('aria-selected',true); + } + //append li to menu + + li.appendTo(menu); + li.find("a").click(function(e){ e.preventDefault(); }); + }); + + //append menu to end of page (still visual) + menu.appendTo('body'); + + menu.find("li:last").css("border-bottom","none"); + //set height of menu, if needed for overflow (in book, we can hardcode maxHeight to 300 here) + if(menu.outerHeight() > o.maxHeight){ + menu.height(o.maxHeight); + } + + //hide menu + menu.addClass('custom-select-menu-hidden'); + + + + //EVENTS + + + //custom events + + //custom show event + menu.bind('show',function(){ + jQuery(this) + //reappend to body + .appendTo('body') + //remove hidden class + .removeClass('custom-select-menu-hidden') + //remove aria hidden attribute + .attr('aria-hidden', false) + //position the menu under the button + .css({ + top: button.offset().top + button.height(), + left: button.offset().left + }) + //send focus to the selected option + .find('.selected a').eq(0).focus(); + + //add open class from button + button.addClass('custom-select-open'); + }); + + + + + //custom hide event + menu.bind('hide',function(){ + //remove open class from button + button.removeClass('custom-select-open'); + + jQuery(this) + //remove hidden class + .addClass('custom-select-menu-hidden') + //remove aria hidden attribute + .attr('aria-hidden', true); + }); + + // + menu.bind('toggle', function(){ + //if the menu is hidden show it + if(menu.is(':hidden')){ + menu.trigger('show'); + } + else{ + menu.trigger('hide'); + } + }); + + + + //event to update select menu with current selection (proxy to select) + menu.find('a').bind('select',function(){ + + //deselect previous option in menu + menu + .find('li.selected') + .removeClass('selected') + .attr('aria-selected', false); + + //get new selected li's class attribute + var newListItemClass = jQuery(this).parent().attr('class'); + + //update button icon class to match this li + button.removeClass(allOptionClasses).addClass( newListItemClass ); + + //update button text this anchor's content + selectmenuStatus.html( jQuery(this).html() ); + + //update this list item's selected attributes + jQuery(this) + .parent() + .addClass('selected') + .attr('aria-selected', true); + + //hide menu + menu.trigger('hide'); + + //update the native select with the new selection + selectElement[0].selectedIndex = menu.find('a').index(this); + }); + + + + + //specific events + + + //apply click to button + button.mousedown(function(){ + menu.trigger('toggle'); + return false; + }); + + + + + //disable click event (use mousedown/up instead) + button.click(function(e){ return false; }); + + + //apply mouseup event to menu, for making selections + //allows us to drag and release + menu.find('a').mouseup(function(event){ + jQuery(this).trigger('select'); + //prevent browser scroll + return false; + }); + + + + + + //bind click to document for hiding menu + jQuery(document).click(function(){ menu.trigger('hide'); }); + + + + + //hover and focus states + menu.find('a').bind('mouseover focus',function(){ + //remove class from previous hover-focused option + menu.find('.hover-focus').removeClass('hover-focus'); + //add class to this option + jQuery(this).parent().addClass('hover-focus'); + }) + .bind('mouseout blur',function(){ + //remove class from this option + jQuery(this).parent().removeClass('hover-focus'); + }); + + + + //keyboard events + + + //keydown events for menu + menu.keydown(function(event){ + //switch logic based on which key was pressed + switch(event.keyCode){ + //up or left arrow keys + case 37: + case 38: + //if there's a previous option, focus it + if( jQuery(event.target).parent().prev().length ){ + jQuery(event.target).parent().prev().find('a').eq(0).focus(); + } + //prevent native scroll + return false; + break; + //down or right arrow keys + case 39: + case 40: + //if there's a next option, focus it + if( jQuery(event.target).parent().next().length ){ + jQuery(event.target).parent().next().find('a').eq(0).focus(); + } + //prevent native scroll + return false; + break; + //if enter or space is pressed in menu, trigger mouseup + case 13: + case 32: + jQuery(event.target).trigger('select'); //should trigger select + button.eq(0).focus(); + return false; + break; + //tab returns focus to the menu button, and then automatically shifts focus to the next focusable element on the page + case 9: + menu.trigger('hide'); + button.eq(0).focus(); + break; + } + + }); + + + + //if enter or space is pressed in menu, trigger mousedown + button.keydown(function(event){ + //find selected list item in menu + var currentSelectedLi = menu.find('li').eq( jQuery('select')[0].selectedIndex ); + //handle different key events + switch(event.keyCode){ + //up or left arrow keys + case 37: + case 38: + //if there's a previous option, focus it + if( currentSelectedLi.prev().length ){ + currentSelectedLi.prev().find('a').trigger('select'); + } + //prevent native scroll + return false; + break; + //down or right arrow keys + case 39: + case 40: + //if there's a next option, focus it + if( currentSelectedLi.next().length ){ + currentSelectedLi.next().find('a').trigger('select'); + } + //prevent native scroll + return false; + break; + //if enter or space is pressed in menu, trigger mousedown to select item + case 13: + case 32: + menu.trigger('toggle'); + return false; + break; + } + }); + + + + + /*type ahead goes here*/ + + + + + + + //hide native select + selectElement.addClass('select-hidden').attr('aria-hidden', true); + + + }); +}; + diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/js/hsticky_menu.js b/src/wp-content/plugins/sticky_menu/hades_framework/js/hsticky_menu.js new file mode 100644 index 0000000..85ebea6 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/js/hsticky_menu.js @@ -0,0 +1,238 @@ +// JavaScript Document + +jQuery(function($){ + var temp, type ; + $(".h_stickymenu_box input[type=checkbox]").live("click",function(){ + temp = $(this); + if(temp.is(":checked")) + { + temp.parents("li.menu-item").find(".item-type-hmenu").show(); + // menu-item-data-parent-id + type = temp.parent().find("select").val(); + + if(type="column") + { + set_column_tree(temp.parents("li.menu-item")); + } + + } + else + { + temp.parents("li.menu-item").find(".item-type-hmenu").hide(); + restruct_tree(temp.parents("li.menu-item")); + } + + }); + + + + $(".enable_textbox").live("click",function(){ + temp = $(this); + if(temp.is(":checked")) + { + temp.next().fadeIn("normal"); + + } + else + { + temp.next().hide(); + } + + }); + + + $("#menu-to-edit").find(".menu-item").each(function(){ + if(!$(this).hasClass("menu-item-depth-0")) + { + $(this).find(".h_stickymenu_box").hide(); + $(this).find(".item-type-hmenu").hide(); + if($(this).find(".h_stickymenu_box input[type=checkbox]").is(":checked")) + { + $(this).find(".h_stickymenu_box input[type=checkbox]").removeAttr("checked"); + } + } + else + { + type = $(this).find("select").val(); + + if(type="column") + { + set_column_tree($(this)); + + } + + + $(this).find(".h_stickymenu_box").show(); + $(this).find(".h_stickymenu_row_box").hide(); + // $(this).find(".item-type-hmenu").show(); + } + }); + + + + $(".h_stickymenu_box input[type=checkbox]").each(function(){ + + if($(this).is(":checked")) + $(this).parents("li.menu-item").find(".item-type-hmenu").show(); + }); + + $("#menu-to-edit").bind( "sortstop", function(event, ui) { + temp = $(this); + + type = $(this).find(".h_stickymenu_box select").val(); + + var flag=false,dragel = ui; + + + setTimeout(function(){ + + var pindex = "#menu-item-"+($(dragel.item).find(".menu-item-data-parent-id").val()); + + if( $(pindex).find(".h_stickymenu_box input[type=checkbox]").is(":checked") ) + flag = true; + else + flag = false; + + + temp.find(".menu-item").each(function(){ + + + if(!$(this).hasClass("menu-item-depth-0")) + { + + if(flag==true) + { + $(this).find(".h_stickymenu_box").hide(); + $(this).find(".item-type-hmenu").hide(); + if($(this).find(".h_stickymenu_box input[type=checkbox]").is(":checked")) + { + $(this).find(".h_stickymenu_box input[type=checkbox]").removeAttr("checked"); + } + + $(this).find(".h_stickymenu_row_box").show(); + $(this).find(".item-type-h-column").show(); + } + else + { + $(this).find(".h_stickymenu_box").hide(); + } + + } + else + { + $(this).find(".h_stickymenu_row_box").hide(); + $(this).find(".h_stickymenu_box").show(); + $(this).find(".item-type-h-column").hide(); + // $(this).find(".item-type-hmenu").show(); + + if($(this).find(".h_stickymenu_row_box input[type=checkbox]").is(":checked")) + { + $(this).find(".h_stickymenu_row_box input[type=checkbox]").removeAttr("checked"); + } + + } + + if($(this).hasClass("menu-item-depth-2")) + { + $(this).find(".h_stickymenu_row_box").hide(); + $(this).find(".item-type-h-column").hide(); + $(this).find(".h_stickymenu_box").hide(); + $(this).find(".item-type-hmenu").hide(); + + if($(this).find(".h_stickymenu_row_box input[type=checkbox]").is(":checked")) + { + $(this).find(".h_stickymenu_row_box input[type=checkbox]").removeAttr("checked"); + } + if($(this).find(".h_stickymenu_box input[type=checkbox]").is(":checked")) + { + $(this).find(".h_stickymenu_box input[type=checkbox]").removeAttr("checked"); + } + } + + }); + },500); + +}); + +function set_column_tree(parent) +{ + var test,obj,id = parent.attr("id"); + if(parent.find(".h_stickymenu_box input[type=checkbox]").is(":checked")) + { + + $("#menu-to-edit").find(".menu-item").each(function(){ + obj = $(this); + test = parseInt($(this).find(".menu-item-data-parent-id").val()); + if(test>0) + { + test = "menu-item-"+test; + if(id==test) + { + obj.find(".item-type-h-column").show(); + obj.find(".h_stickymenu_row_box").show(); + } + } + + }); + + } +} + + +function restruct_tree(parent) +{ + var test,obj,id = parent.attr("id"); + + + $("#menu-to-edit").find(".menu-item").each(function(){ + obj = $(this); + test = parseInt($(this).find(".menu-item-data-parent-id").val()); + if(test>0) + { + test = "menu-item-"+test; + if(id==test) + { + obj.find(".item-type-h-column").hide(); + obj.find(".h_stickymenu_row_box").hide(); + } + } + + }); + +} + + if(typeof wpNavMenu != 'undefined'){ + + wpNavMenu.addItemToMenu = function(menuItem, processMethod, callback) { + var menu = $('#menu').val(), + nonce = $('#menu-settings-column-nonce').val(); + + processMethod = processMethod || function(){}; + callback = callback || function(){}; + + params = { + 'action': 'H_StickyMenu_AJAX_Menu', + 'menu': menu, + 'menu-settings-column-nonce': nonce, + 'menu-item': menuItem + }; + + $.post( ajaxurl, params, function(menuMarkup) { + var ins = $('#menu-instructions'); + + + + processMethod(menuMarkup, params); + if( ! ins.hasClass('menu-instructions-inactive') && ins.siblings().length ) + ins.addClass('menu-instructions-inactive'); + callback(); + + + }); + }; + + } + + + + }); \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.js b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.js new file mode 100644 index 0000000..347d7af --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.js @@ -0,0 +1,16 @@ +/*! + * jQuery JavaScript Library v1.6 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon May 2 13:50:00 2011 -0400 + */ +(function(a,b){function cw(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function ct(a){if(!ch[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ci||(ci=c.createElement("iframe"),ci.frameBorder=ci.width=ci.height=0),c.body.appendChild(ci);if(!cj||!ci.createElement)cj=(ci.contentWindow||ci.contentDocument).document,cj.write("");b=cj.createElement(a),cj.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ci)}ch[a]=d}return ch[a]}function cs(a,b){var c={};f.each(cn.concat.apply([],cn.slice(0,b)),function(){c[this]=a});return c}function cr(){co=b}function cq(){setTimeout(cr,0);return co=f.now()}function cg(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function cf(){try{return new a.XMLHttpRequest}catch(b){}}function b_(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){name="data-"+c.replace(j,"$1-$2").toLowerCase(),d=a.getAttribute(name);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(e){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?g=[null,a,null]:g=i.exec(a);if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement, \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.autocomplete.js b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.autocomplete.js new file mode 100644 index 0000000..8b989b2 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.autocomplete.js @@ -0,0 +1,524 @@ + /* + * jQuery UI selectmenu + * + * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI + */ + +(function($) { + +$.widget("ui.selectmenu", { + _init: function() { + var self = this, o = this.options; + + //quick array of button and menu id's + this.ids = [this.element.attr('id') + '-' + 'button', this.element.attr('id') + '-' + 'menu']; + + //define safe mouseup for future toggling + this._safemouseup = true; + + //create menu button wrapper + this.newelement = $('') + .insertAfter(this.element); + + //transfer tabindex + var tabindex = this.element.attr('tabindex'); + if(tabindex){ this.newelement.attr('tabindex', tabindex); } + + //save reference to select in data for ease in calling methods + this.newelement.data('selectelement', this.element); + + //menu icon + this.selectmenuIcon = $('') + .prependTo(this.newelement) + .addClass( (o.style == "popup")? 'ui-icon-triangle-2-n-s' : 'ui-icon-triangle-1-s' ); + + + //make associated form label trigger focus + $('label[for='+this.element.attr('id')+']') + .attr('for', this.ids[0]) + .bind('click', function(){ + self.newelement[0].focus(); + return false; + }); + + //click toggle for menu visibility + this.newelement + .bind('mousedown', function(event){ + self._toggle(event); + //make sure a click won't open/close instantly + if(o.style == "popup"){ + self._safemouseup = false; + setTimeout(function(){self._safemouseup = true;}, 300); + } + return false; + }) + .bind('click',function(){ + return false; + }) + .keydown(function(event){ + var ret = true; + switch (event.keyCode) { + case $.ui.keyCode.ENTER: + ret = true; + break; + case $.ui.keyCode.SPACE: + ret = false; + self._toggle(event); + break; + case $.ui.keyCode.UP: + case $.ui.keyCode.LEFT: + ret = false; + self._moveSelection(-1); + break; + case $.ui.keyCode.DOWN: + case $.ui.keyCode.RIGHT: + ret = false; + self._moveSelection(1); + break; + case $.ui.keyCode.TAB: + ret = true; + break; + default: + ret = false; + self._typeAhead(event.keyCode, 'mouseup'); + break; + } + return ret; + }) + .bind('mouseover focus', function(){ + $(this).addClass(self.widgetBaseClass+'-focus ui-state-hover'); + }) + .bind('mouseout blur', function(){ + $(this).removeClass(self.widgetBaseClass+'-focus ui-state-hover'); + }); + + //document click closes menu + $(document) + .mousedown(function(event){ + self.close(event); + }); + + //change event on original selectmenu + this.element + .click(function(){ this._refreshValue(); }) + .focus(function(){ this.newelement[0].focus(); }); + + //create menu portion, append to body + var cornerClass = (o.style == "dropdown")? " ui-corner-bottom" : " ui-corner-all" + this.list = $('').appendTo('body'); + + //serialize selectmenu element options + var selectOptionData = []; + this.element + .find('option') + .each(function(){ + selectOptionData.push({ + value: $(this).attr('value'), + text: self._formatText(jQuery(this).text()), + selected: $(this).attr('selected'), + classes: $(this).attr('class'), + parentOptGroup: $(this).parent('optgroup').attr('label') + }); + }); + + //active state class is only used in popup style + var activeClass = (self.options.style == "popup") ? " ui-state-active" : ""; + + //write li's + for(var i in selectOptionData){ + var thisLi = $('
      • '+ selectOptionData[i].text +'
      • ') + .data('index',i) + .addClass(selectOptionData[i].classes) + .data('optionClasses', selectOptionData[i].classes|| '') + .mouseup(function(event){ + if(self._safemouseup){ + var changed = $(this).data('index') != self._selectedIndex(); + self.value($(this).data('index')); + self.select(event); + if(changed){ self.change(event); } + self.close(event,true); + } + return false; + }) + .click(function(){ + return false; + }) + .bind('mouseover focus', function(){ + self._selectedOptionLi().addClass(activeClass); + self._focusedOptionLi().removeClass(self.widgetBaseClass+'-item-focus ui-state-hover'); + $(this).removeClass('ui-state-active').addClass(self.widgetBaseClass + '-item-focus ui-state-hover'); + }) + .bind('mouseout blur', function(){ + if($(this).is( self._selectedOptionLi() )){ $(this).addClass(activeClass); } + $(this).removeClass(self.widgetBaseClass + '-item-focus ui-state-hover'); + }); + + //optgroup or not... + if(selectOptionData[i].parentOptGroup){ + var optGroupName = self.widgetBaseClass + '-group-' + selectOptionData[i].parentOptGroup; + if(this.list.find('li.' + optGroupName).size()){ + this.list.find('li.' + optGroupName + ':last ul').append(thisLi); + } + else{ + $('') + .appendTo(this.list) + .find('ul') + .append(thisLi); + } + } + else{ + thisLi.appendTo(this.list); + } + + //this allows for using the scrollbar in an overflowed list + this.list.bind('mousedown mouseup', function(){return false;}); + + //append icon if option is specified + if(o.icons){ + for(var j in o.icons){ + if(thisLi.is(o.icons[j].find)){ + thisLi + .data('optionClasses', selectOptionData[i].classes + ' ' + self.widgetBaseClass + '-hasIcon') + .addClass(self.widgetBaseClass + '-hasIcon'); + var iconClass = o.icons[j].icon || ""; + + thisLi + .find('a:eq(0)') + .prepend(''); + } + } + } + } + + //add corners to top and bottom menu items + this.list.find('li:last').addClass("ui-corner-bottom"); + if(o.style == 'popup'){ this.list.find('li:first').addClass("ui-corner-top"); } + + //transfer classes to selectmenu and list + if(o.transferClasses){ + var transferClasses = this.element.attr('class') || ''; + this.newelement.add(this.list).addClass(transferClasses); + } + + //original selectmenu width + var selectWidth = this.element.width(); + + //set menu button width + this.newelement.width( (o.width) ? o.width : selectWidth); + + //set menu width to either menuWidth option value, width option value, or select width + if(o.style == 'dropdown'){ this.list.width( (o.menuWidth) ? o.menuWidth : ((o.width) ? o.width : selectWidth)); } + else { this.list.width( (o.menuWidth) ? o.menuWidth : ((o.width) ? o.width - o.handleWidth : selectWidth - o.handleWidth)); } + + //set max height from option + if(o.maxHeight && o.maxHeight < this.list.height()){ this.list.height(o.maxHeight); } + + //save reference to actionable li's (not group label li's) + this._optionLis = this.list.find('li:not(.'+ self.widgetBaseClass +'-group)'); + + //transfer menu click to menu button + this.list + .keydown(function(event){ + var ret = true; + switch (event.keyCode) { + case $.ui.keyCode.UP: + case $.ui.keyCode.LEFT: + ret = false; + self._moveFocus(-1); + break; + case $.ui.keyCode.DOWN: + case $.ui.keyCode.RIGHT: + ret = false; + self._moveFocus(1); + break; + case $.ui.keyCode.HOME: + ret = false; + self._moveFocus(':first'); + break; + case $.ui.keyCode.PAGE_UP: + ret = false; + self._scrollPage('up'); + break; + case $.ui.keyCode.PAGE_DOWN: + ret = false; + self._scrollPage('down'); + break; + case $.ui.keyCode.END: + ret = false; + self._moveFocus(':last'); + break; + case $.ui.keyCode.ENTER: + case $.ui.keyCode.SPACE: + ret = false; + self.close(event,true); + $(event.target).parents('li:eq(0)').trigger('mouseup'); + break; + case $.ui.keyCode.TAB: + ret = true; + self.close(event,true); + break; + case $.ui.keyCode.ESCAPE: + ret = false; + self.close(event,true); + break; + default: + ret = false; + self._typeAhead(event.keyCode,'focus'); + break; + } + return ret; + }); + + //selectmenu style + if(o.style == 'dropdown'){ + this.newelement + .addClass(self.widgetBaseClass+"-dropdown"); + this.list + .addClass(self.widgetBaseClass+"-menu-dropdown"); + } + else { + this.newelement + .addClass(self.widgetBaseClass+"-popup"); + this.list + .addClass(self.widgetBaseClass+"-menu-popup"); + } + + //append status span to button + this.newelement.prepend(''+ selectOptionData[this._selectedIndex()].text +''); + + //hide original selectmenu element + this.element.hide(); + + //transfer disabled state + if(this.element.attr('disabled') == true){ this.disable(); } + + //update value + this.value(this._selectedIndex()); + }, + destroy: function() { + this.element.removeData(this.widgetName) + .removeClass(this.widgetBaseClass + '-disabled' + ' ' + this.namespace + '-state-disabled') + .removeAttr('aria-disabled'); + + //unbind click on label, reset its for attr + $('label[for='+this.newelement.attr('id')+']') + .attr('for',this.element.attr('id')) + .unbind('click'); + this.newelement.remove(); + this.list.remove(); + this.element.show(); + }, + _typeAhead: function(code, eventType){ + var self = this; + //define self._prevChar if needed + if(!self._prevChar){ self._prevChar = ['',0]; } + var C = String.fromCharCode(code); + c = C.toLowerCase(); + var focusFound = false; + function focusOpt(elem, ind){ + focusFound = true; + $(elem).trigger(eventType); + self._prevChar[1] = ind; + }; + this.list.find('li a').each(function(i){ + if(!focusFound){ + var thisText = $(this).text(); + if( thisText.indexOf(C) == 0 || thisText.indexOf(c) == 0){ + if(self._prevChar[0] == C){ + if(self._prevChar[1] < i){ focusOpt(this,i); } + } + else{ focusOpt(this,i); } + } + } + }); + this._prevChar[0] = C; + }, + _uiHash: function(){ + return { + value: this.value() + }; + }, + open: function(event){ + var self = this; + var disabledStatus = this.newelement.attr("aria-disabled"); + if(disabledStatus != 'true'){ + this._refreshPosition(); + this._closeOthers(event); + this.newelement + .addClass('ui-state-active'); + + this.list + .appendTo('body') + .addClass(self.widgetBaseClass + '-open') + .attr('aria-hidden', false) + .find('li:not(.'+ self.widgetBaseClass +'-group):eq('+ this._selectedIndex() +') a')[0].focus(); + if(this.options.style == "dropdown"){ this.newelement.removeClass('ui-corner-all').addClass('ui-corner-top'); } + this._refreshPosition(); + this._trigger("open", event, this._uiHash()); + } + }, + close: function(event, retainFocus){ + if(this.newelement.is('.ui-state-active')){ + this.newelement + .removeClass('ui-state-active'); + this.list + .attr('aria-hidden', true) + .removeClass(this.widgetBaseClass+'-open'); + if(this.options.style == "dropdown"){ this.newelement.removeClass('ui-corner-top').addClass('ui-corner-all'); } + if(retainFocus){this.newelement[0].focus();} + this._trigger("close", event, this._uiHash()); + } + }, + change: function(event) { + this.element.trigger('change'); + this._trigger("change", event, this._uiHash()); + }, + select: function(event) { + this._trigger("select", event, this._uiHash()); + }, + _closeOthers: function(event){ + $('.'+ this.widgetBaseClass +'.ui-state-active').not(this.newelement).each(function(){ + $(this).data('selectelement').selectmenu('close',event); + }); + $('.'+ this.widgetBaseClass +'.ui-state-hover').trigger('mouseout'); + }, + _toggle: function(event,retainFocus){ + if(this.list.is('.'+ this.widgetBaseClass +'-open')){ this.close(event,retainFocus); } + else { this.open(event); } + }, + _formatText: function(text){ + return this.options.format ? this.options.format(text) : text; + }, + _selectedIndex: function(){ + return this.element[0].selectedIndex; + }, + _selectedOptionLi: function(){ + return this._optionLis.eq(this._selectedIndex()); + }, + _focusedOptionLi: function(){ + return this.list.find('.'+ this.widgetBaseClass +'-item-focus'); + }, + _moveSelection: function(amt){ + var currIndex = parseInt(this._selectedOptionLi().data('index'), 10); + var newIndex = currIndex + amt; + return this._optionLis.eq(newIndex).trigger('mouseup'); + }, + _moveFocus: function(amt){ + if(!isNaN(amt)){ + var currIndex = parseInt(this._focusedOptionLi().data('index'), 10); + var newIndex = currIndex + amt; + } + else { var newIndex = parseInt(this._optionLis.filter(amt).data('index'), 10); } + + if(newIndex < 0){ newIndex = 0; } + if(newIndex > this._optionLis.size()-1){ + newIndex = this._optionLis.size()-1; + } + var activeID = this.widgetBaseClass + '-item-' + Math.round(Math.random() * 1000); + + this._focusedOptionLi().find('a:eq(0)').attr('id',''); + this._optionLis.eq(newIndex).find('a:eq(0)').attr('id',activeID)[0].focus(); + this.list.attr('aria-activedescendant', activeID); + }, + _scrollPage: function(direction){ + var numPerPage = Math.floor(this.list.outerHeight() / this.list.find('li:first').outerHeight()); + numPerPage = (direction == 'up') ? -numPerPage : numPerPage; + this._moveFocus(numPerPage); + }, + _setData: function(key, value) { + this.options[key] = value; + if (key == 'disabled') { + this.close(); + this.element + .add(this.newelement) + .add(this.list) + [value ? 'addClass' : 'removeClass']( + this.widgetBaseClass + '-disabled' + ' ' + + this.namespace + '-state-disabled') + .attr("aria-disabled", value); + } + }, + value: function(newValue) { + if (arguments.length) { + this.element[0].selectedIndex = newValue; + this._refreshValue(); + this._refreshPosition(); + } + return this.element[0].selectedIndex; + }, + _refreshValue: function() { + var activeClass = (this.options.style == "popup") ? " ui-state-active" : ""; + var activeID = this.widgetBaseClass + '-item-' + Math.round(Math.random() * 1000); + //deselect previous + this.list + .find('.'+ this.widgetBaseClass +'-item-selected') + .removeClass(this.widgetBaseClass + "-item-selected" + activeClass) + .find('a') + .attr('aria-selected', 'false') + .attr('id', ''); + //select new + this._selectedOptionLi() + .addClass(this.widgetBaseClass + "-item-selected"+activeClass) + .find('a') + .attr('aria-selected', 'true') + .attr('id', activeID); + + //toggle any class brought in from option + var currentOptionClasses = this.newelement.data('optionClasses') ? this.newelement.data('optionClasses') : ""; + var newOptionClasses = this._selectedOptionLi().data('optionClasses') ? this._selectedOptionLi().data('optionClasses') : ""; + this.newelement + .removeClass(currentOptionClasses) + .data('optionClasses', newOptionClasses) + .addClass( newOptionClasses ) + .find('.'+this.widgetBaseClass+'-status') + .html( + this._selectedOptionLi() + .find('a:eq(0)') + .html() + ); + + this.list.attr('aria-activedescendant', activeID) + }, + _refreshPosition: function(){ + //set left value + this.list.css('left', this.newelement.offset().left); + + //set top value + var menuTop = this.newelement.offset().top; + var scrolledAmt = this.list[0].scrollTop; + this.list.find('li:lt('+this._selectedIndex()+')').each(function(){ + scrolledAmt -= $(this).outerHeight(); + }); + + if(this.newelement.is('.'+this.widgetBaseClass+'-popup')){ + menuTop+=scrolledAmt; + this.list.css('top', menuTop); + } + else { + menuTop += this.newelement.height(); + this.list.css('top', menuTop); + } + } +}); + +$.extend($.ui.selectmenu, { + getter: "value", + version: "@VERSION", + eventPrefix: "selectmenu", + defaults: { + transferClasses: true, + style: 'popup', + width: null, + menuWidth: null, + handleWidth: 26, + maxHeight: null, + icons: null, + format: null + } +}); + +})(jQuery); \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.button.js b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.button.js new file mode 100644 index 0000000..de769a2 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.button.js @@ -0,0 +1,373 @@ +/* + * jQuery UI Button 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Button + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function( $, undefined ) { + +var lastActive, + baseClasses = "ui-button ui-widget ui-state-default ui-corner-all", + stateClasses = "ui-state-hover ui-state-active ", + typeClasses = "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only", + formResetHandler = function( event ) { + $( ":ui-button", event.target.form ).each(function() { + var inst = $( this ).data( "button" ); + setTimeout(function() { + inst.refresh(); + }, 1 ); + }); + }, + radioGroup = function( radio ) { + var name = radio.name, + form = radio.form, + radios = $( [] ); + if ( name ) { + if ( form ) { + radios = $( form ).find( "[name='" + name + "']" ); + } else { + radios = $( "[name='" + name + "']", radio.ownerDocument ) + .filter(function() { + return !this.form; + }); + } + } + return radios; + }; + +$.widget( "ui.button", { + options: { + disabled: null, + text: true, + label: null, + icons: { + primary: null, + secondary: null + } + }, + _create: function() { + this.element.closest( "form" ) + .unbind( "reset.button" ) + .bind( "reset.button", formResetHandler ); + + if ( typeof this.options.disabled !== "boolean" ) { + this.options.disabled = this.element.attr( "disabled" ); + } + + this._determineButtonType(); + this.hasTitle = !!this.buttonElement.attr( "title" ); + + var self = this, + options = this.options, + toggleButton = this.type === "checkbox" || this.type === "radio", + hoverClass = "ui-state-hover" + ( !toggleButton ? " ui-state-active" : "" ), + focusClass = "ui-state-focus"; + + if ( options.label === null ) { + options.label = this.buttonElement.html(); + } + + if ( this.element.is( ":disabled" ) ) { + options.disabled = true; + } + + this.buttonElement + .addClass( baseClasses ) + .attr( "role", "button" ) + .bind( "mouseenter.button", function() { + if ( options.disabled ) { + return; + } + $( this ).addClass( "ui-state-hover" ); + if ( this === lastActive ) { + $( this ).addClass( "ui-state-active" ); + } + }) + .bind( "mouseleave.button", function() { + if ( options.disabled ) { + return; + } + $( this ).removeClass( hoverClass ); + }) + .bind( "focus.button", function() { + // no need to check disabled, focus won't be triggered anyway + $( this ).addClass( focusClass ); + }) + .bind( "blur.button", function() { + $( this ).removeClass( focusClass ); + }); + + if ( toggleButton ) { + this.element.bind( "change.button", function() { + self.refresh(); + }); + } + + if ( this.type === "checkbox" ) { + this.buttonElement.bind( "click.button", function() { + if ( options.disabled ) { + return false; + } + $( this ).toggleClass( "ui-state-active" ); + self.buttonElement.attr( "aria-pressed", self.element[0].checked ); + }); + } else if ( this.type === "radio" ) { + this.buttonElement.bind( "click.button", function() { + if ( options.disabled ) { + return false; + } + $( this ).addClass( "ui-state-active" ); + self.buttonElement.attr( "aria-pressed", true ); + + var radio = self.element[ 0 ]; + radioGroup( radio ) + .not( radio ) + .map(function() { + return $( this ).button( "widget" )[ 0 ]; + }) + .removeClass( "ui-state-active" ) + .attr( "aria-pressed", false ); + }); + } else { + this.buttonElement + .bind( "mousedown.button", function() { + if ( options.disabled ) { + return false; + } + $( this ).addClass( "ui-state-active" ); + lastActive = this; + $( document ).one( "mouseup", function() { + lastActive = null; + }); + }) + .bind( "mouseup.button", function() { + if ( options.disabled ) { + return false; + } + $( this ).removeClass( "ui-state-active" ); + }) + .bind( "keydown.button", function(event) { + if ( options.disabled ) { + return false; + } + if ( event.keyCode == $.ui.keyCode.SPACE || event.keyCode == $.ui.keyCode.ENTER ) { + $( this ).addClass( "ui-state-active" ); + } + }) + .bind( "keyup.button", function() { + $( this ).removeClass( "ui-state-active" ); + }); + + if ( this.buttonElement.is("a") ) { + this.buttonElement.keyup(function(event) { + if ( event.keyCode === $.ui.keyCode.SPACE ) { + // TODO pass through original event correctly (just as 2nd argument doesn't work) + $( this ).click(); + } + }); + } + } + + // TODO: pull out $.Widget's handling for the disabled option into + // $.Widget.prototype._setOptionDisabled so it's easy to proxy and can + // be overridden by individual plugins + this._setOption( "disabled", options.disabled ); + }, + + _determineButtonType: function() { + + if ( this.element.is(":checkbox") ) { + this.type = "checkbox"; + } else { + if ( this.element.is(":radio") ) { + this.type = "radio"; + } else { + if ( this.element.is("input") ) { + this.type = "input"; + } else { + this.type = "button"; + } + } + } + + if ( this.type === "checkbox" || this.type === "radio" ) { + // we don't search against the document in case the element + // is disconnected from the DOM + this.buttonElement = this.element.parents().last() + .find( "label[for=" + this.element.attr("id") + "]" ); + this.element.addClass( "ui-helper-hidden-accessible" ); + + var checked = this.element.is( ":checked" ); + if ( checked ) { + this.buttonElement.addClass( "ui-state-active" ); + } + this.buttonElement.attr( "aria-pressed", checked ); + } else { + this.buttonElement = this.element; + } + }, + + widget: function() { + return this.buttonElement; + }, + + destroy: function() { + this.element + .removeClass( "ui-helper-hidden-accessible" ); + this.buttonElement + .removeClass( baseClasses + " " + stateClasses + " " + typeClasses ) + .removeAttr( "role" ) + .removeAttr( "aria-pressed" ) + .html( this.buttonElement.find(".ui-button-text").html() ); + + if ( !this.hasTitle ) { + this.buttonElement.removeAttr( "title" ); + } + + $.Widget.prototype.destroy.call( this ); + }, + + _setOption: function( key, value ) { + $.Widget.prototype._setOption.apply( this, arguments ); + if ( key === "disabled" ) { + if ( value ) { + this.element.attr( "disabled", true ); + } else { + this.element.removeAttr( "disabled" ); + } + } + this._resetButton(); + }, + + refresh: function() { + var isDisabled = this.element.is( ":disabled" ); + if ( isDisabled !== this.options.disabled ) { + this._setOption( "disabled", isDisabled ); + } + if ( this.type === "radio" ) { + radioGroup( this.element[0] ).each(function() { + if ( $( this ).is( ":checked" ) ) { + $( this ).button( "widget" ) + .addClass( "ui-state-active" ) + .attr( "aria-pressed", true ); + } else { + $( this ).button( "widget" ) + .removeClass( "ui-state-active" ) + .attr( "aria-pressed", false ); + } + }); + } else if ( this.type === "checkbox" ) { + if ( this.element.is( ":checked" ) ) { + this.buttonElement + .addClass( "ui-state-active" ) + .attr( "aria-pressed", true ); + } else { + this.buttonElement + .removeClass( "ui-state-active" ) + .attr( "aria-pressed", false ); + } + } + }, + + _resetButton: function() { + if ( this.type === "input" ) { + if ( this.options.label ) { + this.element.val( this.options.label ); + } + return; + } + var buttonElement = this.buttonElement.removeClass( typeClasses ), + buttonText = $( "" ) + .addClass( "ui-button-text" ) + .html( this.options.label ) + .appendTo( buttonElement.empty() ) + .text(), + icons = this.options.icons, + multipleIcons = icons.primary && icons.secondary; + if ( icons.primary || icons.secondary ) { + buttonElement.addClass( "ui-button-text-icon" + + ( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) ); + if ( icons.primary ) { + buttonElement.prepend( "" ); + } + if ( icons.secondary ) { + buttonElement.append( "" ); + } + if ( !this.options.text ) { + buttonElement + .addClass( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" ) + .removeClass( "ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary" ); + if ( !this.hasTitle ) { + buttonElement.attr( "title", buttonText ); + } + } + } else { + buttonElement.addClass( "ui-button-text-only" ); + } + } +}); + +$.widget( "ui.buttonset", { + options: { + items: ":button, :submit, :reset, :checkbox, :radio, a, :data(button)" + }, + + _create: function() { + this.element.addClass( "ui-buttonset" ); + }, + + _init: function() { + this.refresh(); + }, + + _setOption: function( key, value ) { + if ( key === "disabled" ) { + this.buttons.button( "option", key, value ); + } + + $.Widget.prototype._setOption.apply( this, arguments ); + }, + + refresh: function() { + this.buttons = this.element.find( this.options.items ) + .filter( ":ui-button" ) + .button( "refresh" ) + .end() + .not( ":ui-button" ) + .button() + .end() + .map(function() { + return $( this ).button( "widget" )[ 0 ]; + }) + .removeClass( "ui-corner-all ui-corner-left ui-corner-right" ) + .filter( ":first" ) + .addClass( "ui-corner-left" ) + .end() + .filter( ":last" ) + .addClass( "ui-corner-right" ) + .end() + .end(); + }, + + destroy: function() { + this.element.removeClass( "ui-buttonset" ); + this.buttons + .map(function() { + return $( this ).button( "widget" )[ 0 ]; + }) + .removeClass( "ui-corner-left ui-corner-right" ) + .end() + .button( "destroy" ); + + $.Widget.prototype.destroy.call( this ); + } +}); + +}( jQuery ) ); diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.core.js b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.core.js new file mode 100644 index 0000000..df067ba --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.core.js @@ -0,0 +1,308 @@ +/*! + * jQuery UI 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function( $, undefined ) { + +// prevent duplicate loading +// this is only a problem because we proxy existing functions +// and we don't want to double proxy them +$.ui = $.ui || {}; +if ( $.ui.version ) { + return; +} + +$.extend( $.ui, { + version: "1.8.7", + + keyCode: { + ALT: 18, + BACKSPACE: 8, + CAPS_LOCK: 20, + COMMA: 188, + COMMAND: 91, + COMMAND_LEFT: 91, // COMMAND + COMMAND_RIGHT: 93, + CONTROL: 17, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + INSERT: 45, + LEFT: 37, + MENU: 93, // COMMAND_RIGHT + NUMPAD_ADD: 107, + NUMPAD_DECIMAL: 110, + NUMPAD_DIVIDE: 111, + NUMPAD_ENTER: 108, + NUMPAD_MULTIPLY: 106, + NUMPAD_SUBTRACT: 109, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SHIFT: 16, + SPACE: 32, + TAB: 9, + UP: 38, + WINDOWS: 91 // COMMAND + } +}); + +// plugins +$.fn.extend({ + _focus: $.fn.focus, + focus: function( delay, fn ) { + return typeof delay === "number" ? + this.each(function() { + var elem = this; + setTimeout(function() { + $( elem ).focus(); + if ( fn ) { + fn.call( elem ); + } + }, delay ); + }) : + this._focus.apply( this, arguments ); + }, + + scrollParent: function() { + var scrollParent; + if (($.browser.msie && (/(static|relative)/).test(this.css('position'))) || (/absolute/).test(this.css('position'))) { + scrollParent = this.parents().filter(function() { + return (/(relative|absolute|fixed)/).test($.curCSS(this,'position',1)) && (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1)); + }).eq(0); + } else { + scrollParent = this.parents().filter(function() { + return (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1)); + }).eq(0); + } + + return (/fixed/).test(this.css('position')) || !scrollParent.length ? $(document) : scrollParent; + }, + + zIndex: function( zIndex ) { + if ( zIndex !== undefined ) { + return this.css( "zIndex", zIndex ); + } + + if ( this.length ) { + var elem = $( this[ 0 ] ), position, value; + while ( elem.length && elem[ 0 ] !== document ) { + // Ignore z-index if position is set to a value where z-index is ignored by the browser + // This makes behavior of this function consistent across browsers + // WebKit always returns auto if the element is positioned + position = elem.css( "position" ); + if ( position === "absolute" || position === "relative" || position === "fixed" ) { + // IE returns 0 when zIndex is not specified + // other browsers return a string + // we ignore the case of nested elements with an explicit value of 0 + //
        + value = parseInt( elem.css( "zIndex" ), 10 ); + if ( !isNaN( value ) && value !== 0 ) { + return value; + } + } + elem = elem.parent(); + } + } + + return 0; + }, + + disableSelection: function() { + return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) + + ".ui-disableSelection", function( event ) { + event.preventDefault(); + }); + }, + + enableSelection: function() { + return this.unbind( ".ui-disableSelection" ); + } +}); + +$.each( [ "Width", "Height" ], function( i, name ) { + var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], + type = name.toLowerCase(), + orig = { + innerWidth: $.fn.innerWidth, + innerHeight: $.fn.innerHeight, + outerWidth: $.fn.outerWidth, + outerHeight: $.fn.outerHeight + }; + + function reduce( elem, size, border, margin ) { + $.each( side, function() { + size -= parseFloat( $.curCSS( elem, "padding" + this, true) ) || 0; + if ( border ) { + size -= parseFloat( $.curCSS( elem, "border" + this + "Width", true) ) || 0; + } + if ( margin ) { + size -= parseFloat( $.curCSS( elem, "margin" + this, true) ) || 0; + } + }); + return size; + } + + $.fn[ "inner" + name ] = function( size ) { + if ( size === undefined ) { + return orig[ "inner" + name ].call( this ); + } + + return this.each(function() { + $( this ).css( type, reduce( this, size ) + "px" ); + }); + }; + + $.fn[ "outer" + name] = function( size, margin ) { + if ( typeof size !== "number" ) { + return orig[ "outer" + name ].call( this, size ); + } + + return this.each(function() { + $( this).css( type, reduce( this, size, true, margin ) + "px" ); + }); + }; +}); + +// selectors +function visible( element ) { + return !$( element ).parents().andSelf().filter(function() { + return $.curCSS( this, "visibility" ) === "hidden" || + $.expr.filters.hidden( this ); + }).length; +} + +$.extend( $.expr[ ":" ], { + data: function( elem, i, match ) { + return !!$.data( elem, match[ 3 ] ); + }, + + focusable: function( element ) { + var nodeName = element.nodeName.toLowerCase(), + tabIndex = $.attr( element, "tabindex" ); + if ( "area" === nodeName ) { + var map = element.parentNode, + mapName = map.name, + img; + if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { + return false; + } + img = $( "img[usemap=#" + mapName + "]" )[0]; + return !!img && visible( img ); + } + return ( /input|select|textarea|button|object/.test( nodeName ) + ? !element.disabled + : "a" == nodeName + ? element.href || !isNaN( tabIndex ) + : !isNaN( tabIndex )) + // the element and all of its ancestors must be visible + && visible( element ); + }, + + tabbable: function( element ) { + var tabIndex = $.attr( element, "tabindex" ); + return ( isNaN( tabIndex ) || tabIndex >= 0 ) && $( element ).is( ":focusable" ); + } +}); + +// support +$(function() { + var body = document.body, + div = body.appendChild( div = document.createElement( "div" ) ); + + $.extend( div.style, { + minHeight: "100px", + height: "auto", + padding: 0, + borderWidth: 0 + }); + + $.support.minHeight = div.offsetHeight === 100; + $.support.selectstart = "onselectstart" in div; + + // set display to none to avoid a layout bug in IE + // http://dev.jquery.com/ticket/4014 + body.removeChild( div ).style.display = "none"; +}); + + + + + +// deprecated +$.extend( $.ui, { + // $.ui.plugin is deprecated. Use the proxy pattern instead. + plugin: { + add: function( module, option, set ) { + var proto = $.ui[ module ].prototype; + for ( var i in set ) { + proto.plugins[ i ] = proto.plugins[ i ] || []; + proto.plugins[ i ].push( [ option, set[ i ] ] ); + } + }, + call: function( instance, name, args ) { + var set = instance.plugins[ name ]; + if ( !set || !instance.element[ 0 ].parentNode ) { + return; + } + + for ( var i = 0; i < set.length; i++ ) { + if ( instance.options[ set[ i ][ 0 ] ] ) { + set[ i ][ 1 ].apply( instance.element, args ); + } + } + } + }, + + // will be deprecated when we switch to jQuery 1.4 - use jQuery.contains() + contains: function( a, b ) { + return document.compareDocumentPosition ? + a.compareDocumentPosition( b ) & 16 : + a !== b && a.contains( b ); + }, + + // only used by resizable + hasScroll: function( el, a ) { + + //If overflow is hidden, the element might have extra content, but the user wants to hide it + if ( $( el ).css( "overflow" ) === "hidden") { + return false; + } + + var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop", + has = false; + + if ( el[ scroll ] > 0 ) { + return true; + } + + // TODO: determine which cases actually cause this to happen + // if the element doesn't have the scroll set, see if it's possible to + // set the scroll + el[ scroll ] = 1; + has = ( el[ scroll ] > 0 ); + el[ scroll ] = 0; + return has; + }, + + // these are odd functions, fix the API or move into individual plugins + isOverAxis: function( x, reference, size ) { + //Determines when x coordinate is over "b" element axis + return ( x > reference ) && ( x < ( reference + size ) ); + }, + isOver: function( y, x, top, left, height, width ) { + //Determines when x, y coordinates is over "b" element + return $.ui.isOverAxis( y, top, height ) && $.ui.isOverAxis( x, left, width ); + } +}); + +})( jQuery ); diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.datepicker.js b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.datepicker.js new file mode 100644 index 0000000..dd9418a --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.datepicker.js @@ -0,0 +1,1757 @@ +/* + * jQuery UI Datepicker 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker + * + * Depends: + * jquery.ui.core.js + */ +(function( $, undefined ) { + +$.extend($.ui, { datepicker: { version: "1.8.7" } }); + +var PROP_NAME = 'datepicker'; +var dpuuid = new Date().getTime(); + +/* Date picker manager. + Use the singleton instance of this class, $.datepicker, to interact with the date picker. + Settings for (groups of) date pickers are maintained in an instance object, + allowing multiple different settings on the same page. */ + +function Datepicker() { + this.debug = false; // Change this to true to start debugging + this._curInst = null; // The current instance in use + this._keyEvent = false; // If the last event was a key event + this._disabledInputs = []; // List of date picker inputs that have been disabled + this._datepickerShowing = false; // True if the popup picker is showing , false if not + this._inDialog = false; // True if showing within a "dialog", false if not + this._mainDivId = 'ui-datepicker-div'; // The ID of the main datepicker division + this._inlineClass = 'ui-datepicker-inline'; // The name of the inline marker class + this._appendClass = 'ui-datepicker-append'; // The name of the append marker class + this._triggerClass = 'ui-datepicker-trigger'; // The name of the trigger marker class + this._dialogClass = 'ui-datepicker-dialog'; // The name of the dialog marker class + this._disableClass = 'ui-datepicker-disabled'; // The name of the disabled covering marker class + this._unselectableClass = 'ui-datepicker-unselectable'; // The name of the unselectable cell marker class + this._currentClass = 'ui-datepicker-current-day'; // The name of the current day marker class + this._dayOverClass = 'ui-datepicker-days-cell-over'; // The name of the day hover marker class + this.regional = []; // Available regional settings, indexed by language code + this.regional[''] = { // Default regional settings + closeText: 'Done', // Display text for close link + prevText: 'Prev', // Display text for previous month link + nextText: 'Next', // Display text for next month link + currentText: 'Today', // Display text for current month link + monthNames: ['January','February','March','April','May','June', + 'July','August','September','October','November','December'], // Names of months for drop-down and formatting + monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], // For formatting + dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], // For formatting + dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], // For formatting + dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'], // Column headings for days starting at Sunday + weekHeader: 'Wk', // Column header for week of the year + dateFormat: 'mm/dd/yy', // See format options on parseDate + firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ... + isRTL: false, // True if right-to-left language, false if left-to-right + showMonthAfterYear: false, // True if the year select precedes month, false for month then year + yearSuffix: '' // Additional text to append to the year in the month headers + }; + this._defaults = { // Global defaults for all the date picker instances + showOn: 'focus', // 'focus' for popup on focus, + // 'button' for trigger button, or 'both' for either + showAnim: 'fadeIn', // Name of jQuery animation for popup + showOptions: {}, // Options for enhanced animations + defaultDate: null, // Used when field is blank: actual date, + // +/-number for offset from today, null for today + appendText: '', // Display text following the input box, e.g. showing the format + buttonText: '...', // Text for trigger button + buttonImage: '', // URL for trigger button image + buttonImageOnly: false, // True if the image appears alone, false if it appears on a button + hideIfNoPrevNext: false, // True to hide next/previous month links + // if not applicable, false to just disable them + navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links + gotoCurrent: false, // True if today link goes back to current selection instead + changeMonth: false, // True if month can be selected directly, false if only prev/next + changeYear: false, // True if year can be selected directly, false if only prev/next + yearRange: 'c-10:c+10', // Range of years to display in drop-down, + // either relative to today's year (-nn:+nn), relative to currently displayed year + // (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n) + showOtherMonths: false, // True to show dates in other months, false to leave blank + selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable + showWeek: false, // True to show week of the year, false to not show it + calculateWeek: this.iso8601Week, // How to calculate the week of the year, + // takes a Date and returns the number of the week for it + shortYearCutoff: '+10', // Short year values < this are in the current century, + // > this are in the previous century, + // string value starting with '+' for current year + value + minDate: null, // The earliest selectable date, or null for no limit + maxDate: null, // The latest selectable date, or null for no limit + duration: 'fast', // Duration of display/closure + beforeShowDay: null, // Function that takes a date and returns an array with + // [0] = true if selectable, false if not, [1] = custom CSS class name(s) or '', + // [2] = cell title (optional), e.g. $.datepicker.noWeekends + beforeShow: null, // Function that takes an input field and + // returns a set of custom settings for the date picker + onSelect: null, // Define a callback function when a date is selected + onChangeMonthYear: null, // Define a callback function when the month or year is changed + onClose: null, // Define a callback function when the datepicker is closed + numberOfMonths: 1, // Number of months to show at a time + showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0) + stepMonths: 1, // Number of months to step back/forward + stepBigMonths: 12, // Number of months to step back/forward for the big links + altField: '', // Selector for an alternate field to store selected dates into + altFormat: '', // The date format to use for the alternate field + constrainInput: true, // The input is constrained by the current date format + showButtonPanel: false, // True to show button panel, false to not show it + autoSize: false // True to size the input for the date format, false to leave as is + }; + $.extend(this._defaults, this.regional['']); + this.dpDiv = $('
        '); +} + +$.extend(Datepicker.prototype, { + /* Class name added to elements to indicate already configured with a date picker. */ + markerClassName: 'hasDatepicker', + + /* Debug logging (if enabled). */ + log: function () { + if (this.debug) + console.log.apply('', arguments); + }, + + // TODO rename to "widget" when switching to widget factory + _widgetDatepicker: function() { + return this.dpDiv; + }, + + /* Override the default settings for all instances of the date picker. + @param settings object - the new settings to use as defaults (anonymous object) + @return the manager object */ + setDefaults: function(settings) { + extendRemove(this._defaults, settings || {}); + return this; + }, + + /* Attach the date picker to a jQuery selection. + @param target element - the target input field or division or span + @param settings object - the new settings to use for this date picker instance (anonymous) */ + _attachDatepicker: function(target, settings) { + // check for settings on the control itself - in namespace 'date:' + var inlineSettings = null; + for (var attrName in this._defaults) { + var attrValue = target.getAttribute('date:' + attrName); + if (attrValue) { + inlineSettings = inlineSettings || {}; + try { + inlineSettings[attrName] = eval(attrValue); + } catch (err) { + inlineSettings[attrName] = attrValue; + } + } + } + var nodeName = target.nodeName.toLowerCase(); + var inline = (nodeName == 'div' || nodeName == 'span'); + if (!target.id) { + this.uuid += 1; + target.id = 'dp' + this.uuid; + } + var inst = this._newInst($(target), inline); + inst.settings = $.extend({}, settings || {}, inlineSettings || {}); + if (nodeName == 'input') { + this._connectDatepicker(target, inst); + } else if (inline) { + this._inlineDatepicker(target, inst); + } + }, + + /* Create a new instance object. */ + _newInst: function(target, inline) { + var id = target[0].id.replace(/([^A-Za-z0-9_-])/g, '\\\\$1'); // escape jQuery meta chars + return {id: id, input: target, // associated target + selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection + drawMonth: 0, drawYear: 0, // month being drawn + inline: inline, // is datepicker inline or not + dpDiv: (!inline ? this.dpDiv : // presentation div + $('
        '))}; + }, + + /* Attach the date picker to an input field. */ + _connectDatepicker: function(target, inst) { + var input = $(target); + inst.append = $([]); + inst.trigger = $([]); + if (input.hasClass(this.markerClassName)) + return; + this._attachments(input, inst); + input.addClass(this.markerClassName).keydown(this._doKeyDown). + keypress(this._doKeyPress).keyup(this._doKeyUp). + bind("setData.datepicker", function(event, key, value) { + inst.settings[key] = value; + }).bind("getData.datepicker", function(event, key) { + return this._get(inst, key); + }); + this._autoSize(inst); + $.data(target, PROP_NAME, inst); + }, + + /* Make attachments based on settings. */ + _attachments: function(input, inst) { + var appendText = this._get(inst, 'appendText'); + var isRTL = this._get(inst, 'isRTL'); + if (inst.append) + inst.append.remove(); + if (appendText) { + inst.append = $('' + appendText + ''); + input[isRTL ? 'before' : 'after'](inst.append); + } + input.unbind('focus', this._showDatepicker); + if (inst.trigger) + inst.trigger.remove(); + var showOn = this._get(inst, 'showOn'); + if (showOn == 'focus' || showOn == 'both') // pop-up date picker when in the marked field + input.focus(this._showDatepicker); + if (showOn == 'button' || showOn == 'both') { // pop-up date picker when button clicked + var buttonText = this._get(inst, 'buttonText'); + var buttonImage = this._get(inst, 'buttonImage'); + inst.trigger = $(this._get(inst, 'buttonImageOnly') ? + $('').addClass(this._triggerClass). + attr({ src: buttonImage, alt: buttonText, title: buttonText }) : + $('').addClass(this._triggerClass). + html(buttonImage == '' ? buttonText : $('').attr( + { src:buttonImage, alt:buttonText, title:buttonText }))); + input[isRTL ? 'before' : 'after'](inst.trigger); + inst.trigger.click(function() { + if ($.datepicker._datepickerShowing && $.datepicker._lastInput == input[0]) + $.datepicker._hideDatepicker(); + else + $.datepicker._showDatepicker(input[0]); + return false; + }); + } + }, + + /* Apply the maximum length for the date format. */ + _autoSize: function(inst) { + if (this._get(inst, 'autoSize') && !inst.inline) { + var date = new Date(2009, 12 - 1, 20); // Ensure double digits + var dateFormat = this._get(inst, 'dateFormat'); + if (dateFormat.match(/[DM]/)) { + var findMax = function(names) { + var max = 0; + var maxI = 0; + for (var i = 0; i < names.length; i++) { + if (names[i].length > max) { + max = names[i].length; + maxI = i; + } + } + return maxI; + }; + date.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ? + 'monthNames' : 'monthNamesShort')))); + date.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ? + 'dayNames' : 'dayNamesShort'))) + 20 - date.getDay()); + } + inst.input.attr('size', this._formatDate(inst, date).length); + } + }, + + /* Attach an inline date picker to a div. */ + _inlineDatepicker: function(target, inst) { + var divSpan = $(target); + if (divSpan.hasClass(this.markerClassName)) + return; + divSpan.addClass(this.markerClassName).append(inst.dpDiv). + bind("setData.datepicker", function(event, key, value){ + inst.settings[key] = value; + }).bind("getData.datepicker", function(event, key){ + return this._get(inst, key); + }); + $.data(target, PROP_NAME, inst); + this._setDate(inst, this._getDefaultDate(inst), true); + this._updateDatepicker(inst); + this._updateAlternate(inst); + inst.dpDiv.show(); + }, + + /* Pop-up the date picker in a "dialog" box. + @param input element - ignored + @param date string or Date - the initial date to display + @param onSelect function - the function to call when a date is selected + @param settings object - update the dialog date picker instance's settings (anonymous object) + @param pos int[2] - coordinates for the dialog's position within the screen or + event - with x/y coordinates or + leave empty for default (screen centre) + @return the manager object */ + _dialogDatepicker: function(input, date, onSelect, settings, pos) { + var inst = this._dialogInst; // internal instance + if (!inst) { + this.uuid += 1; + var id = 'dp' + this.uuid; + this._dialogInput = $(''); + this._dialogInput.keydown(this._doKeyDown); + $('body').append(this._dialogInput); + inst = this._dialogInst = this._newInst(this._dialogInput, false); + inst.settings = {}; + $.data(this._dialogInput[0], PROP_NAME, inst); + } + extendRemove(inst.settings, settings || {}); + date = (date && date.constructor == Date ? this._formatDate(inst, date) : date); + this._dialogInput.val(date); + + this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null); + if (!this._pos) { + var browserWidth = document.documentElement.clientWidth; + var browserHeight = document.documentElement.clientHeight; + var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; + var scrollY = document.documentElement.scrollTop || document.body.scrollTop; + this._pos = // should use actual width/height below + [(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY]; + } + + // move input on screen for focus, but hidden behind dialog + this._dialogInput.css('left', (this._pos[0] + 20) + 'px').css('top', this._pos[1] + 'px'); + inst.settings.onSelect = onSelect; + this._inDialog = true; + this.dpDiv.addClass(this._dialogClass); + this._showDatepicker(this._dialogInput[0]); + if ($.blockUI) + $.blockUI(this.dpDiv); + $.data(this._dialogInput[0], PROP_NAME, inst); + return this; + }, + + /* Detach a datepicker from its control. + @param target element - the target input field or division or span */ + _destroyDatepicker: function(target) { + var $target = $(target); + var inst = $.data(target, PROP_NAME); + if (!$target.hasClass(this.markerClassName)) { + return; + } + var nodeName = target.nodeName.toLowerCase(); + $.removeData(target, PROP_NAME); + if (nodeName == 'input') { + inst.append.remove(); + inst.trigger.remove(); + $target.removeClass(this.markerClassName). + unbind('focus', this._showDatepicker). + unbind('keydown', this._doKeyDown). + unbind('keypress', this._doKeyPress). + unbind('keyup', this._doKeyUp); + } else if (nodeName == 'div' || nodeName == 'span') + $target.removeClass(this.markerClassName).empty(); + }, + + /* Enable the date picker to a jQuery selection. + @param target element - the target input field or division or span */ + _enableDatepicker: function(target) { + var $target = $(target); + var inst = $.data(target, PROP_NAME); + if (!$target.hasClass(this.markerClassName)) { + return; + } + var nodeName = target.nodeName.toLowerCase(); + if (nodeName == 'input') { + target.disabled = false; + inst.trigger.filter('button'). + each(function() { this.disabled = false; }).end(). + filter('img').css({opacity: '1.0', cursor: ''}); + } + else if (nodeName == 'div' || nodeName == 'span') { + var inline = $target.children('.' + this._inlineClass); + inline.children().removeClass('ui-state-disabled'); + } + this._disabledInputs = $.map(this._disabledInputs, + function(value) { return (value == target ? null : value); }); // delete entry + }, + + /* Disable the date picker to a jQuery selection. + @param target element - the target input field or division or span */ + _disableDatepicker: function(target) { + var $target = $(target); + var inst = $.data(target, PROP_NAME); + if (!$target.hasClass(this.markerClassName)) { + return; + } + var nodeName = target.nodeName.toLowerCase(); + if (nodeName == 'input') { + target.disabled = true; + inst.trigger.filter('button'). + each(function() { this.disabled = true; }).end(). + filter('img').css({opacity: '0.5', cursor: 'default'}); + } + else if (nodeName == 'div' || nodeName == 'span') { + var inline = $target.children('.' + this._inlineClass); + inline.children().addClass('ui-state-disabled'); + } + this._disabledInputs = $.map(this._disabledInputs, + function(value) { return (value == target ? null : value); }); // delete entry + this._disabledInputs[this._disabledInputs.length] = target; + }, + + /* Is the first field in a jQuery collection disabled as a datepicker? + @param target element - the target input field or division or span + @return boolean - true if disabled, false if enabled */ + _isDisabledDatepicker: function(target) { + if (!target) { + return false; + } + for (var i = 0; i < this._disabledInputs.length; i++) { + if (this._disabledInputs[i] == target) + return true; + } + return false; + }, + + /* Retrieve the instance data for the target control. + @param target element - the target input field or division or span + @return object - the associated instance data + @throws error if a jQuery problem getting data */ + _getInst: function(target) { + try { + return $.data(target, PROP_NAME); + } + catch (err) { + throw 'Missing instance data for this datepicker'; + } + }, + + /* Update or retrieve the settings for a date picker attached to an input field or division. + @param target element - the target input field or division or span + @param name object - the new settings to update or + string - the name of the setting to change or retrieve, + when retrieving also 'all' for all instance settings or + 'defaults' for all global defaults + @param value any - the new value for the setting + (omit if above is an object or to retrieve a value) */ + _optionDatepicker: function(target, name, value) { + var inst = this._getInst(target); + if (arguments.length == 2 && typeof name == 'string') { + return (name == 'defaults' ? $.extend({}, $.datepicker._defaults) : + (inst ? (name == 'all' ? $.extend({}, inst.settings) : + this._get(inst, name)) : null)); + } + var settings = name || {}; + if (typeof name == 'string') { + settings = {}; + settings[name] = value; + } + if (inst) { + if (this._curInst == inst) { + this._hideDatepicker(); + } + var date = this._getDateDatepicker(target, true); + extendRemove(inst.settings, settings); + this._attachments($(target), inst); + this._autoSize(inst); + this._setDateDatepicker(target, date); + this._updateDatepicker(inst); + } + }, + + // change method deprecated + _changeDatepicker: function(target, name, value) { + this._optionDatepicker(target, name, value); + }, + + /* Redraw the date picker attached to an input field or division. + @param target element - the target input field or division or span */ + _refreshDatepicker: function(target) { + var inst = this._getInst(target); + if (inst) { + this._updateDatepicker(inst); + } + }, + + /* Set the dates for a jQuery selection. + @param target element - the target input field or division or span + @param date Date - the new date */ + _setDateDatepicker: function(target, date) { + var inst = this._getInst(target); + if (inst) { + this._setDate(inst, date); + this._updateDatepicker(inst); + this._updateAlternate(inst); + } + }, + + /* Get the date(s) for the first entry in a jQuery selection. + @param target element - the target input field or division or span + @param noDefault boolean - true if no default date is to be used + @return Date - the current date */ + _getDateDatepicker: function(target, noDefault) { + var inst = this._getInst(target); + if (inst && !inst.inline) + this._setDateFromField(inst, noDefault); + return (inst ? this._getDate(inst) : null); + }, + + /* Handle keystrokes. */ + _doKeyDown: function(event) { + var inst = $.datepicker._getInst(event.target); + var handled = true; + var isRTL = inst.dpDiv.is('.ui-datepicker-rtl'); + inst._keyEvent = true; + if ($.datepicker._datepickerShowing) + switch (event.keyCode) { + case 9: $.datepicker._hideDatepicker(); + handled = false; + break; // hide on tab out + case 13: var sel = $('td.' + $.datepicker._dayOverClass + ':not(.' + + $.datepicker._currentClass + ')', inst.dpDiv); + if (sel[0]) + $.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]); + else + $.datepicker._hideDatepicker(); + return false; // don't submit the form + break; // select the value on enter + case 27: $.datepicker._hideDatepicker(); + break; // hide on escape + case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ? + -$.datepicker._get(inst, 'stepBigMonths') : + -$.datepicker._get(inst, 'stepMonths')), 'M'); + break; // previous month/year on page up/+ ctrl + case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ? + +$.datepicker._get(inst, 'stepBigMonths') : + +$.datepicker._get(inst, 'stepMonths')), 'M'); + break; // next month/year on page down/+ ctrl + case 35: if (event.ctrlKey || event.metaKey) $.datepicker._clearDate(event.target); + handled = event.ctrlKey || event.metaKey; + break; // clear on ctrl or command +end + case 36: if (event.ctrlKey || event.metaKey) $.datepicker._gotoToday(event.target); + handled = event.ctrlKey || event.metaKey; + break; // current on ctrl or command +home + case 37: if (event.ctrlKey || event.metaKey) $.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), 'D'); + handled = event.ctrlKey || event.metaKey; + // -1 day on ctrl or command +left + if (event.originalEvent.altKey) $.datepicker._adjustDate(event.target, (event.ctrlKey ? + -$.datepicker._get(inst, 'stepBigMonths') : + -$.datepicker._get(inst, 'stepMonths')), 'M'); + // next month/year on alt +left on Mac + break; + case 38: if (event.ctrlKey || event.metaKey) $.datepicker._adjustDate(event.target, -7, 'D'); + handled = event.ctrlKey || event.metaKey; + break; // -1 week on ctrl or command +up + case 39: if (event.ctrlKey || event.metaKey) $.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), 'D'); + handled = event.ctrlKey || event.metaKey; + // +1 day on ctrl or command +right + if (event.originalEvent.altKey) $.datepicker._adjustDate(event.target, (event.ctrlKey ? + +$.datepicker._get(inst, 'stepBigMonths') : + +$.datepicker._get(inst, 'stepMonths')), 'M'); + // next month/year on alt +right + break; + case 40: if (event.ctrlKey || event.metaKey) $.datepicker._adjustDate(event.target, +7, 'D'); + handled = event.ctrlKey || event.metaKey; + break; // +1 week on ctrl or command +down + default: handled = false; + } + else if (event.keyCode == 36 && event.ctrlKey) // display the date picker on ctrl+home + $.datepicker._showDatepicker(this); + else { + handled = false; + } + if (handled) { + event.preventDefault(); + event.stopPropagation(); + } + }, + + /* Filter entered characters - based on date format. */ + _doKeyPress: function(event) { + var inst = $.datepicker._getInst(event.target); + if ($.datepicker._get(inst, 'constrainInput')) { + var chars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')); + var chr = String.fromCharCode(event.charCode == undefined ? event.keyCode : event.charCode); + return event.ctrlKey || event.metaKey || (chr < ' ' || !chars || chars.indexOf(chr) > -1); + } + }, + + /* Synchronise manual entry and field/alternate field. */ + _doKeyUp: function(event) { + var inst = $.datepicker._getInst(event.target); + if (inst.input.val() != inst.lastVal) { + try { + var date = $.datepicker.parseDate($.datepicker._get(inst, 'dateFormat'), + (inst.input ? inst.input.val() : null), + $.datepicker._getFormatConfig(inst)); + if (date) { // only if valid + $.datepicker._setDateFromField(inst); + $.datepicker._updateAlternate(inst); + $.datepicker._updateDatepicker(inst); + } + } + catch (event) { + $.datepicker.log(event); + } + } + return true; + }, + + /* Pop-up the date picker for a given input field. + @param input element - the input field attached to the date picker or + event - if triggered by focus */ + _showDatepicker: function(input) { + input = input.target || input; + if (input.nodeName.toLowerCase() != 'input') // find from button/image trigger + input = $('input', input.parentNode)[0]; + if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput == input) // already here + return; + var inst = $.datepicker._getInst(input); + if ($.datepicker._curInst && $.datepicker._curInst != inst) { + $.datepicker._curInst.dpDiv.stop(true, true); + } + var beforeShow = $.datepicker._get(inst, 'beforeShow'); + extendRemove(inst.settings, (beforeShow ? beforeShow.apply(input, [input, inst]) : {})); + inst.lastVal = null; + $.datepicker._lastInput = input; + $.datepicker._setDateFromField(inst); + if ($.datepicker._inDialog) // hide cursor + input.value = ''; + if (!$.datepicker._pos) { // position below input + $.datepicker._pos = $.datepicker._findPos(input); + $.datepicker._pos[1] += input.offsetHeight; // add the height + } + var isFixed = false; + $(input).parents().each(function() { + isFixed |= $(this).css('position') == 'fixed'; + return !isFixed; + }); + if (isFixed && $.browser.opera) { // correction for Opera when fixed and scrolled + $.datepicker._pos[0] -= document.documentElement.scrollLeft; + $.datepicker._pos[1] -= document.documentElement.scrollTop; + } + var offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]}; + $.datepicker._pos = null; + //to avoid flashes on Firefox + inst.dpDiv.empty(); + // determine sizing offscreen + inst.dpDiv.css({position: 'absolute', display: 'block', top: '-1000px'}); + $.datepicker._updateDatepicker(inst); + // fix width for dynamic number of date pickers + // and adjust position before showing + offset = $.datepicker._checkOffset(inst, offset, isFixed); + inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ? + 'static' : (isFixed ? 'fixed' : 'absolute')), display: 'none', + left: offset.left + 'px', top: offset.top + 'px'}); + if (!inst.inline) { + var showAnim = $.datepicker._get(inst, 'showAnim'); + var duration = $.datepicker._get(inst, 'duration'); + var postProcess = function() { + $.datepicker._datepickerShowing = true; + var cover = inst.dpDiv.find('iframe.ui-datepicker-cover'); // IE6- only + if( !! cover.length ){ + var borders = $.datepicker._getBorders(inst.dpDiv); + cover.css({left: -borders[0], top: -borders[1], + width: inst.dpDiv.outerWidth(), height: inst.dpDiv.outerHeight()}); + } + }; + inst.dpDiv.zIndex($(input).zIndex()+1); + if ($.effects && $.effects[showAnim]) + inst.dpDiv.show(showAnim, $.datepicker._get(inst, 'showOptions'), duration, postProcess); + else + inst.dpDiv[showAnim || 'show']((showAnim ? duration : null), postProcess); + if (!showAnim || !duration) + postProcess(); + if (inst.input.is(':visible') && !inst.input.is(':disabled')) + inst.input.focus(); + $.datepicker._curInst = inst; + } + }, + + /* Generate the date picker content. */ + _updateDatepicker: function(inst) { + var self = this; + var borders = $.datepicker._getBorders(inst.dpDiv); + inst.dpDiv.empty().append(this._generateHTML(inst)); + var cover = inst.dpDiv.find('iframe.ui-datepicker-cover'); // IE6- only + if( !!cover.length ){ //avoid call to outerXXXX() when not in IE6 + cover.css({left: -borders[0], top: -borders[1], width: inst.dpDiv.outerWidth(), height: inst.dpDiv.outerHeight()}) + } + inst.dpDiv.find('button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a') + .bind('mouseout', function(){ + $(this).removeClass('ui-state-hover'); + if(this.className.indexOf('ui-datepicker-prev') != -1) $(this).removeClass('ui-datepicker-prev-hover'); + if(this.className.indexOf('ui-datepicker-next') != -1) $(this).removeClass('ui-datepicker-next-hover'); + }) + .bind('mouseover', function(){ + if (!self._isDisabledDatepicker( inst.inline ? inst.dpDiv.parent()[0] : inst.input[0])) { + $(this).parents('.ui-datepicker-calendar').find('a').removeClass('ui-state-hover'); + $(this).addClass('ui-state-hover'); + if(this.className.indexOf('ui-datepicker-prev') != -1) $(this).addClass('ui-datepicker-prev-hover'); + if(this.className.indexOf('ui-datepicker-next') != -1) $(this).addClass('ui-datepicker-next-hover'); + } + }) + .end() + .find('.' + this._dayOverClass + ' a') + .trigger('mouseover') + .end(); + var numMonths = this._getNumberOfMonths(inst); + var cols = numMonths[1]; + var width = 17; + if (cols > 1) + inst.dpDiv.addClass('ui-datepicker-multi-' + cols).css('width', (width * cols) + 'em'); + else + inst.dpDiv.removeClass('ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4').width(''); + inst.dpDiv[(numMonths[0] != 1 || numMonths[1] != 1 ? 'add' : 'remove') + + 'Class']('ui-datepicker-multi'); + inst.dpDiv[(this._get(inst, 'isRTL') ? 'add' : 'remove') + + 'Class']('ui-datepicker-rtl'); + if (inst == $.datepicker._curInst && $.datepicker._datepickerShowing && inst.input && + inst.input.is(':visible') && !inst.input.is(':disabled')) + inst.input.focus(); + // deffered render of the years select (to avoid flashes on Firefox) + if( inst.yearshtml ){ + var origyearshtml = inst.yearshtml; + setTimeout(function(){ + //assure that inst.yearshtml didn't change. + if( origyearshtml === inst.yearshtml ){ + inst.dpDiv.find('select.ui-datepicker-year:first').replaceWith(inst.yearshtml); + } + origyearshtml = inst.yearshtml = null; + }, 0); + } + }, + + /* Retrieve the size of left and top borders for an element. + @param elem (jQuery object) the element of interest + @return (number[2]) the left and top borders */ + _getBorders: function(elem) { + var convert = function(value) { + return {thin: 1, medium: 2, thick: 3}[value] || value; + }; + return [parseFloat(convert(elem.css('border-left-width'))), + parseFloat(convert(elem.css('border-top-width')))]; + }, + + /* Check positioning to remain on screen. */ + _checkOffset: function(inst, offset, isFixed) { + var dpWidth = inst.dpDiv.outerWidth(); + var dpHeight = inst.dpDiv.outerHeight(); + var inputWidth = inst.input ? inst.input.outerWidth() : 0; + var inputHeight = inst.input ? inst.input.outerHeight() : 0; + var viewWidth = document.documentElement.clientWidth + $(document).scrollLeft(); + var viewHeight = document.documentElement.clientHeight + $(document).scrollTop(); + + offset.left -= (this._get(inst, 'isRTL') ? (dpWidth - inputWidth) : 0); + offset.left -= (isFixed && offset.left == inst.input.offset().left) ? $(document).scrollLeft() : 0; + offset.top -= (isFixed && offset.top == (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0; + + // now check if datepicker is showing outside window viewport - move to a better place if so. + offset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ? + Math.abs(offset.left + dpWidth - viewWidth) : 0); + offset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ? + Math.abs(dpHeight + inputHeight) : 0); + + return offset; + }, + + /* Find an object's position on the screen. */ + _findPos: function(obj) { + var inst = this._getInst(obj); + var isRTL = this._get(inst, 'isRTL'); + while (obj && (obj.type == 'hidden' || obj.nodeType != 1)) { + obj = obj[isRTL ? 'previousSibling' : 'nextSibling']; + } + var position = $(obj).offset(); + return [position.left, position.top]; + }, + + /* Hide the date picker from view. + @param input element - the input field attached to the date picker */ + _hideDatepicker: function(input) { + var inst = this._curInst; + if (!inst || (input && inst != $.data(input, PROP_NAME))) + return; + if (this._datepickerShowing) { + var showAnim = this._get(inst, 'showAnim'); + var duration = this._get(inst, 'duration'); + var postProcess = function() { + $.datepicker._tidyDialog(inst); + this._curInst = null; + }; + if ($.effects && $.effects[showAnim]) + inst.dpDiv.hide(showAnim, $.datepicker._get(inst, 'showOptions'), duration, postProcess); + else + inst.dpDiv[(showAnim == 'slideDown' ? 'slideUp' : + (showAnim == 'fadeIn' ? 'fadeOut' : 'hide'))]((showAnim ? duration : null), postProcess); + if (!showAnim) + postProcess(); + var onClose = this._get(inst, 'onClose'); + if (onClose) + onClose.apply((inst.input ? inst.input[0] : null), + [(inst.input ? inst.input.val() : ''), inst]); // trigger custom callback + this._datepickerShowing = false; + this._lastInput = null; + if (this._inDialog) { + this._dialogInput.css({ position: 'absolute', left: '0', top: '-100px' }); + if ($.blockUI) { + $.unblockUI(); + $('body').append(this.dpDiv); + } + } + this._inDialog = false; + } + }, + + /* Tidy up after a dialog display. */ + _tidyDialog: function(inst) { + inst.dpDiv.removeClass(this._dialogClass).unbind('.ui-datepicker-calendar'); + }, + + /* Close date picker if clicked elsewhere. */ + _checkExternalClick: function(event) { + if (!$.datepicker._curInst) + return; + var $target = $(event.target); + if ($target[0].id != $.datepicker._mainDivId && + $target.parents('#' + $.datepicker._mainDivId).length == 0 && + !$target.hasClass($.datepicker.markerClassName) && + !$target.hasClass($.datepicker._triggerClass) && + $.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI)) + $.datepicker._hideDatepicker(); + }, + + /* Adjust one of the date sub-fields. */ + _adjustDate: function(id, offset, period) { + var target = $(id); + var inst = this._getInst(target[0]); + if (this._isDisabledDatepicker(target[0])) { + return; + } + this._adjustInstDate(inst, offset + + (period == 'M' ? this._get(inst, 'showCurrentAtPos') : 0), // undo positioning + period); + this._updateDatepicker(inst); + }, + + /* Action for current link. */ + _gotoToday: function(id) { + var target = $(id); + var inst = this._getInst(target[0]); + if (this._get(inst, 'gotoCurrent') && inst.currentDay) { + inst.selectedDay = inst.currentDay; + inst.drawMonth = inst.selectedMonth = inst.currentMonth; + inst.drawYear = inst.selectedYear = inst.currentYear; + } + else { + var date = new Date(); + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + } + this._notifyChange(inst); + this._adjustDate(target); + }, + + /* Action for selecting a new month/year. */ + _selectMonthYear: function(id, select, period) { + var target = $(id); + var inst = this._getInst(target[0]); + inst._selectingMonthYear = false; + inst['selected' + (period == 'M' ? 'Month' : 'Year')] = + inst['draw' + (period == 'M' ? 'Month' : 'Year')] = + parseInt(select.options[select.selectedIndex].value,10); + this._notifyChange(inst); + this._adjustDate(target); + }, + + /* Restore input focus after not changing month/year. */ + _clickMonthYear: function(id) { + var target = $(id); + var inst = this._getInst(target[0]); + if (inst.input && inst._selectingMonthYear) { + setTimeout(function() { + inst.input.focus(); + }, 0); + } + inst._selectingMonthYear = !inst._selectingMonthYear; + }, + + /* Action for selecting a day. */ + _selectDay: function(id, month, year, td) { + var target = $(id); + if ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) { + return; + } + var inst = this._getInst(target[0]); + inst.selectedDay = inst.currentDay = $('a', td).html(); + inst.selectedMonth = inst.currentMonth = month; + inst.selectedYear = inst.currentYear = year; + this._selectDate(id, this._formatDate(inst, + inst.currentDay, inst.currentMonth, inst.currentYear)); + }, + + /* Erase the input field and hide the date picker. */ + _clearDate: function(id) { + var target = $(id); + var inst = this._getInst(target[0]); + this._selectDate(target, ''); + }, + + /* Update the input field with the selected date. */ + _selectDate: function(id, dateStr) { + var target = $(id); + var inst = this._getInst(target[0]); + dateStr = (dateStr != null ? dateStr : this._formatDate(inst)); + if (inst.input) + inst.input.val(dateStr); + this._updateAlternate(inst); + var onSelect = this._get(inst, 'onSelect'); + if (onSelect) + onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); // trigger custom callback + else if (inst.input) + inst.input.trigger('change'); // fire the change event + if (inst.inline) + this._updateDatepicker(inst); + else { + this._hideDatepicker(); + this._lastInput = inst.input[0]; + if (typeof(inst.input[0]) != 'object') + inst.input.focus(); // restore focus + this._lastInput = null; + } + }, + + /* Update any alternate field to synchronise with the main field. */ + _updateAlternate: function(inst) { + var altField = this._get(inst, 'altField'); + if (altField) { // update alternate field too + var altFormat = this._get(inst, 'altFormat') || this._get(inst, 'dateFormat'); + var date = this._getDate(inst); + var dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst)); + $(altField).each(function() { $(this).val(dateStr); }); + } + }, + + /* Set as beforeShowDay function to prevent selection of weekends. + @param date Date - the date to customise + @return [boolean, string] - is this date selectable?, what is its CSS class? */ + noWeekends: function(date) { + var day = date.getDay(); + return [(day > 0 && day < 6), '']; + }, + + /* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. + @param date Date - the date to get the week for + @return number - the number of the week within the year that contains this date */ + iso8601Week: function(date) { + var checkDate = new Date(date.getTime()); + // Find Thursday of this week starting on Monday + checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7)); + var time = checkDate.getTime(); + checkDate.setMonth(0); // Compare with Jan 1 + checkDate.setDate(1); + return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1; + }, + + /* Parse a string value into a date object. + See formatDate below for the possible formats. + + @param format string - the expected format of the date + @param value string - the date in the above format + @param settings Object - attributes include: + shortYearCutoff number - the cutoff year for determining the century (optional) + dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + dayNames string[7] - names of the days from Sunday (optional) + monthNamesShort string[12] - abbreviated names of the months (optional) + monthNames string[12] - names of the months (optional) + @return Date - the extracted date value or null if value is blank */ + parseDate: function (format, value, settings) { + if (format == null || value == null) + throw 'Invalid arguments'; + value = (typeof value == 'object' ? value.toString() : value + ''); + if (value == '') + return null; + var shortYearCutoff = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff; + var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort; + var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames; + var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort; + var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames; + var year = -1; + var month = -1; + var day = -1; + var doy = -1; + var literal = false; + // Check whether a format character is doubled + var lookAhead = function(match) { + var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); + if (matches) + iFormat++; + return matches; + }; + // Extract a number from the string value + var getNumber = function(match) { + var isDoubled = lookAhead(match); + var size = (match == '@' ? 14 : (match == '!' ? 20 : + (match == 'y' && isDoubled ? 4 : (match == 'o' ? 3 : 2)))); + var digits = new RegExp('^\\d{1,' + size + '}'); + var num = value.substring(iValue).match(digits); + if (!num) + throw 'Missing number at position ' + iValue; + iValue += num[0].length; + return parseInt(num[0], 10); + }; + // Extract a name from the string value and convert to an index + var getName = function(match, shortNames, longNames) { + var names = (lookAhead(match) ? longNames : shortNames); + for (var i = 0; i < names.length; i++) { + if (value.substr(iValue, names[i].length).toLowerCase() == names[i].toLowerCase()) { + iValue += names[i].length; + return i + 1; + } + } + throw 'Unknown name at position ' + iValue; + }; + // Confirm that a literal character matches the string value + var checkLiteral = function() { + if (value.charAt(iValue) != format.charAt(iFormat)) + throw 'Unexpected literal at position ' + iValue; + iValue++; + }; + var iValue = 0; + for (var iFormat = 0; iFormat < format.length; iFormat++) { + if (literal) + if (format.charAt(iFormat) == "'" && !lookAhead("'")) + literal = false; + else + checkLiteral(); + else + switch (format.charAt(iFormat)) { + case 'd': + day = getNumber('d'); + break; + case 'D': + getName('D', dayNamesShort, dayNames); + break; + case 'o': + doy = getNumber('o'); + break; + case 'm': + month = getNumber('m'); + break; + case 'M': + month = getName('M', monthNamesShort, monthNames); + break; + case 'y': + year = getNumber('y'); + break; + case '@': + var date = new Date(getNumber('@')); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case '!': + var date = new Date((getNumber('!') - this._ticksTo1970) / 10000); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case "'": + if (lookAhead("'")) + checkLiteral(); + else + literal = true; + break; + default: + checkLiteral(); + } + } + if (year == -1) + year = new Date().getFullYear(); + else if (year < 100) + year += new Date().getFullYear() - new Date().getFullYear() % 100 + + (year <= shortYearCutoff ? 0 : -100); + if (doy > -1) { + month = 1; + day = doy; + do { + var dim = this._getDaysInMonth(year, month - 1); + if (day <= dim) + break; + month++; + day -= dim; + } while (true); + } + var date = this._daylightSavingAdjust(new Date(year, month - 1, day)); + if (date.getFullYear() != year || date.getMonth() + 1 != month || date.getDate() != day) + throw 'Invalid date'; // E.g. 31/02/* + return date; + }, + + /* Standard date formats. */ + ATOM: 'yy-mm-dd', // RFC 3339 (ISO 8601) + COOKIE: 'D, dd M yy', + ISO_8601: 'yy-mm-dd', + RFC_822: 'D, d M y', + RFC_850: 'DD, dd-M-y', + RFC_1036: 'D, d M y', + RFC_1123: 'D, d M yy', + RFC_2822: 'D, d M yy', + RSS: 'D, d M y', // RFC 822 + TICKS: '!', + TIMESTAMP: '@', + W3C: 'yy-mm-dd', // ISO 8601 + + _ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) + + Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000), + + /* Format a date object into a string value. + The format can be combinations of the following: + d - day of month (no leading zero) + dd - day of month (two digit) + o - day of year (no leading zeros) + oo - day of year (three digit) + D - day name short + DD - day name long + m - month of year (no leading zero) + mm - month of year (two digit) + M - month name short + MM - month name long + y - year (two digit) + yy - year (four digit) + @ - Unix timestamp (ms since 01/01/1970) + ! - Windows ticks (100ns since 01/01/0001) + '...' - literal text + '' - single quote + + @param format string - the desired format of the date + @param date Date - the date value to format + @param settings Object - attributes include: + dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + dayNames string[7] - names of the days from Sunday (optional) + monthNamesShort string[12] - abbreviated names of the months (optional) + monthNames string[12] - names of the months (optional) + @return string - the date in the above format */ + formatDate: function (format, date, settings) { + if (!date) + return ''; + var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort; + var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames; + var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort; + var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames; + // Check whether a format character is doubled + var lookAhead = function(match) { + var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); + if (matches) + iFormat++; + return matches; + }; + // Format a number, with leading zero if necessary + var formatNumber = function(match, value, len) { + var num = '' + value; + if (lookAhead(match)) + while (num.length < len) + num = '0' + num; + return num; + }; + // Format a name, short or long as requested + var formatName = function(match, value, shortNames, longNames) { + return (lookAhead(match) ? longNames[value] : shortNames[value]); + }; + var output = ''; + var literal = false; + if (date) + for (var iFormat = 0; iFormat < format.length; iFormat++) { + if (literal) + if (format.charAt(iFormat) == "'" && !lookAhead("'")) + literal = false; + else + output += format.charAt(iFormat); + else + switch (format.charAt(iFormat)) { + case 'd': + output += formatNumber('d', date.getDate(), 2); + break; + case 'D': + output += formatName('D', date.getDay(), dayNamesShort, dayNames); + break; + case 'o': + output += formatNumber('o', + (date.getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000, 3); + break; + case 'm': + output += formatNumber('m', date.getMonth() + 1, 2); + break; + case 'M': + output += formatName('M', date.getMonth(), monthNamesShort, monthNames); + break; + case 'y': + output += (lookAhead('y') ? date.getFullYear() : + (date.getYear() % 100 < 10 ? '0' : '') + date.getYear() % 100); + break; + case '@': + output += date.getTime(); + break; + case '!': + output += date.getTime() * 10000 + this._ticksTo1970; + break; + case "'": + if (lookAhead("'")) + output += "'"; + else + literal = true; + break; + default: + output += format.charAt(iFormat); + } + } + return output; + }, + + /* Extract all possible characters from the date format. */ + _possibleChars: function (format) { + var chars = ''; + var literal = false; + // Check whether a format character is doubled + var lookAhead = function(match) { + var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); + if (matches) + iFormat++; + return matches; + }; + for (var iFormat = 0; iFormat < format.length; iFormat++) + if (literal) + if (format.charAt(iFormat) == "'" && !lookAhead("'")) + literal = false; + else + chars += format.charAt(iFormat); + else + switch (format.charAt(iFormat)) { + case 'd': case 'm': case 'y': case '@': + chars += '0123456789'; + break; + case 'D': case 'M': + return null; // Accept anything + case "'": + if (lookAhead("'")) + chars += "'"; + else + literal = true; + break; + default: + chars += format.charAt(iFormat); + } + return chars; + }, + + /* Get a setting value, defaulting if necessary. */ + _get: function(inst, name) { + return inst.settings[name] !== undefined ? + inst.settings[name] : this._defaults[name]; + }, + + /* Parse existing date and initialise date picker. */ + _setDateFromField: function(inst, noDefault) { + if (inst.input.val() == inst.lastVal) { + return; + } + var dateFormat = this._get(inst, 'dateFormat'); + var dates = inst.lastVal = inst.input ? inst.input.val() : null; + var date, defaultDate; + date = defaultDate = this._getDefaultDate(inst); + var settings = this._getFormatConfig(inst); + try { + date = this.parseDate(dateFormat, dates, settings) || defaultDate; + } catch (event) { + this.log(event); + dates = (noDefault ? '' : dates); + } + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + inst.currentDay = (dates ? date.getDate() : 0); + inst.currentMonth = (dates ? date.getMonth() : 0); + inst.currentYear = (dates ? date.getFullYear() : 0); + this._adjustInstDate(inst); + }, + + /* Retrieve the default date shown on opening. */ + _getDefaultDate: function(inst) { + return this._restrictMinMax(inst, + this._determineDate(inst, this._get(inst, 'defaultDate'), new Date())); + }, + + /* A date may be specified as an exact value or a relative one. */ + _determineDate: function(inst, date, defaultDate) { + var offsetNumeric = function(offset) { + var date = new Date(); + date.setDate(date.getDate() + offset); + return date; + }; + var offsetString = function(offset) { + try { + return $.datepicker.parseDate($.datepicker._get(inst, 'dateFormat'), + offset, $.datepicker._getFormatConfig(inst)); + } + catch (e) { + // Ignore + } + var date = (offset.toLowerCase().match(/^c/) ? + $.datepicker._getDate(inst) : null) || new Date(); + var year = date.getFullYear(); + var month = date.getMonth(); + var day = date.getDate(); + var pattern = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g; + var matches = pattern.exec(offset); + while (matches) { + switch (matches[2] || 'd') { + case 'd' : case 'D' : + day += parseInt(matches[1],10); break; + case 'w' : case 'W' : + day += parseInt(matches[1],10) * 7; break; + case 'm' : case 'M' : + month += parseInt(matches[1],10); + day = Math.min(day, $.datepicker._getDaysInMonth(year, month)); + break; + case 'y': case 'Y' : + year += parseInt(matches[1],10); + day = Math.min(day, $.datepicker._getDaysInMonth(year, month)); + break; + } + matches = pattern.exec(offset); + } + return new Date(year, month, day); + }; + var newDate = (date == null || date === '' ? defaultDate : (typeof date == 'string' ? offsetString(date) : + (typeof date == 'number' ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime())))); + newDate = (newDate && newDate.toString() == 'Invalid Date' ? defaultDate : newDate); + if (newDate) { + newDate.setHours(0); + newDate.setMinutes(0); + newDate.setSeconds(0); + newDate.setMilliseconds(0); + } + return this._daylightSavingAdjust(newDate); + }, + + /* Handle switch to/from daylight saving. + Hours may be non-zero on daylight saving cut-over: + > 12 when midnight changeover, but then cannot generate + midnight datetime, so jump to 1AM, otherwise reset. + @param date (Date) the date to check + @return (Date) the corrected date */ + _daylightSavingAdjust: function(date) { + if (!date) return null; + date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0); + return date; + }, + + /* Set the date(s) directly. */ + _setDate: function(inst, date, noChange) { + var clear = !date; + var origMonth = inst.selectedMonth; + var origYear = inst.selectedYear; + var newDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date())); + inst.selectedDay = inst.currentDay = newDate.getDate(); + inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth(); + inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear(); + if ((origMonth != inst.selectedMonth || origYear != inst.selectedYear) && !noChange) + this._notifyChange(inst); + this._adjustInstDate(inst); + if (inst.input) { + inst.input.val(clear ? '' : this._formatDate(inst)); + } + }, + + /* Retrieve the date(s) directly. */ + _getDate: function(inst) { + var startDate = (!inst.currentYear || (inst.input && inst.input.val() == '') ? null : + this._daylightSavingAdjust(new Date( + inst.currentYear, inst.currentMonth, inst.currentDay))); + return startDate; + }, + + /* Generate the HTML for the current state of the date picker. */ + _generateHTML: function(inst) { + var today = new Date(); + today = this._daylightSavingAdjust( + new Date(today.getFullYear(), today.getMonth(), today.getDate())); // clear time + var isRTL = this._get(inst, 'isRTL'); + var showButtonPanel = this._get(inst, 'showButtonPanel'); + var hideIfNoPrevNext = this._get(inst, 'hideIfNoPrevNext'); + var navigationAsDateFormat = this._get(inst, 'navigationAsDateFormat'); + var numMonths = this._getNumberOfMonths(inst); + var showCurrentAtPos = this._get(inst, 'showCurrentAtPos'); + var stepMonths = this._get(inst, 'stepMonths'); + var isMultiMonth = (numMonths[0] != 1 || numMonths[1] != 1); + var currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) : + new Date(inst.currentYear, inst.currentMonth, inst.currentDay))); + var minDate = this._getMinMaxDate(inst, 'min'); + var maxDate = this._getMinMaxDate(inst, 'max'); + var drawMonth = inst.drawMonth - showCurrentAtPos; + var drawYear = inst.drawYear; + if (drawMonth < 0) { + drawMonth += 12; + drawYear--; + } + if (maxDate) { + var maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(), + maxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate())); + maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw); + while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) { + drawMonth--; + if (drawMonth < 0) { + drawMonth = 11; + drawYear--; + } + } + } + inst.drawMonth = drawMonth; + inst.drawYear = drawYear; + var prevText = this._get(inst, 'prevText'); + prevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText, + this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)), + this._getFormatConfig(inst))); + var prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ? + '' + prevText + '' : + (hideIfNoPrevNext ? '' : '' + prevText + '')); + var nextText = this._get(inst, 'nextText'); + nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText, + this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)), + this._getFormatConfig(inst))); + var next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ? + '' + nextText + '' : + (hideIfNoPrevNext ? '' : '' + nextText + '')); + var currentText = this._get(inst, 'currentText'); + var gotoDate = (this._get(inst, 'gotoCurrent') && inst.currentDay ? currentDate : today); + currentText = (!navigationAsDateFormat ? currentText : + this.formatDate(currentText, gotoDate, this._getFormatConfig(inst))); + var controls = (!inst.inline ? '' : ''); + var buttonPanel = (showButtonPanel) ? '
        ' + (isRTL ? controls : '') + + (this._isInRange(inst, gotoDate) ? '' : '') + (isRTL ? '' : controls) + '
        ' : ''; + var firstDay = parseInt(this._get(inst, 'firstDay'),10); + firstDay = (isNaN(firstDay) ? 0 : firstDay); + var showWeek = this._get(inst, 'showWeek'); + var dayNames = this._get(inst, 'dayNames'); + var dayNamesShort = this._get(inst, 'dayNamesShort'); + var dayNamesMin = this._get(inst, 'dayNamesMin'); + var monthNames = this._get(inst, 'monthNames'); + var monthNamesShort = this._get(inst, 'monthNamesShort'); + var beforeShowDay = this._get(inst, 'beforeShowDay'); + var showOtherMonths = this._get(inst, 'showOtherMonths'); + var selectOtherMonths = this._get(inst, 'selectOtherMonths'); + var calculateWeek = this._get(inst, 'calculateWeek') || this.iso8601Week; + var defaultDate = this._getDefaultDate(inst); + var html = ''; + for (var row = 0; row < numMonths[0]; row++) { + var group = ''; + for (var col = 0; col < numMonths[1]; col++) { + var selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay)); + var cornerClass = ' ui-corner-all'; + var calender = ''; + if (isMultiMonth) { + calender += '
        '; + } + calender += '
        ' + + (/all|left/.test(cornerClass) && row == 0 ? (isRTL ? next : prev) : '') + + (/all|right/.test(cornerClass) && row == 0 ? (isRTL ? prev : next) : '') + + this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate, + row > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers + '
        ' + + ''; + var thead = (showWeek ? '' : ''); + for (var dow = 0; dow < 7; dow++) { // days of the week + var day = (dow + firstDay) % 7; + thead += '= 5 ? ' class="ui-datepicker-week-end"' : '') + '>' + + '' + dayNamesMin[day] + ''; + } + calender += thead + ''; + var daysInMonth = this._getDaysInMonth(drawYear, drawMonth); + if (drawYear == inst.selectedYear && drawMonth == inst.selectedMonth) + inst.selectedDay = Math.min(inst.selectedDay, daysInMonth); + var leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7; + var numRows = (isMultiMonth ? 6 : Math.ceil((leadDays + daysInMonth) / 7)); // calculate the number of rows to generate + var printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays)); + for (var dRow = 0; dRow < numRows; dRow++) { // create date picker rows + calender += ''; + var tbody = (!showWeek ? '' : ''); + for (var dow = 0; dow < 7; dow++) { // create date picker days + var daySettings = (beforeShowDay ? + beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, '']); + var otherMonth = (printDate.getMonth() != drawMonth); + var unselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] || + (minDate && printDate < minDate) || (maxDate && printDate > maxDate); + tbody += ''; // display selectable date + printDate.setDate(printDate.getDate() + 1); + printDate = this._daylightSavingAdjust(printDate); + } + calender += tbody + ''; + } + drawMonth++; + if (drawMonth > 11) { + drawMonth = 0; + drawYear++; + } + calender += '
        ' + this._get(inst, 'weekHeader') + '
        ' + + this._get(inst, 'calculateWeek')(printDate) + '' + // actions + (otherMonth && !showOtherMonths ? ' ' : // display for other months + (unselectable ? '' + printDate.getDate() + '' : '' + printDate.getDate() + '')) + '
        ' + (isMultiMonth ? '
        ' + + ((numMonths[0] > 0 && col == numMonths[1]-1) ? '
        ' : '') : ''); + group += calender; + } + html += group; + } + html += buttonPanel + ($.browser.msie && parseInt($.browser.version,10) < 7 && !inst.inline ? + '' : ''); + inst._keyEvent = false; + return html; + }, + + /* Generate the month and year header. */ + _generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate, + secondary, monthNames, monthNamesShort) { + var changeMonth = this._get(inst, 'changeMonth'); + var changeYear = this._get(inst, 'changeYear'); + var showMonthAfterYear = this._get(inst, 'showMonthAfterYear'); + var html = '
        '; + var monthHtml = ''; + // month selection + if (secondary || !changeMonth) + monthHtml += '' + monthNames[drawMonth] + ''; + else { + var inMinYear = (minDate && minDate.getFullYear() == drawYear); + var inMaxYear = (maxDate && maxDate.getFullYear() == drawYear); + monthHtml += ''; + } + if (!showMonthAfterYear) + html += monthHtml + (secondary || !(changeMonth && changeYear) ? ' ' : ''); + // year selection + inst.yearshtml = ''; + if (secondary || !changeYear) + html += '' + drawYear + ''; + else { + // determine range of years to display + var years = this._get(inst, 'yearRange').split(':'); + var thisYear = new Date().getFullYear(); + var determineYear = function(value) { + var year = (value.match(/c[+-].*/) ? drawYear + parseInt(value.substring(1), 10) : + (value.match(/[+-].*/) ? thisYear + parseInt(value, 10) : + parseInt(value, 10))); + return (isNaN(year) ? thisYear : year); + }; + var year = determineYear(years[0]); + var endYear = Math.max(year, determineYear(years[1] || '')); + year = (minDate ? Math.max(year, minDate.getFullYear()) : year); + endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear); + inst.yearshtml += ''; + //when showing there is no need for later update + if( ! $.browser.mozilla ){ + html += inst.yearshtml; + inst.yearshtml = null; + } else { + // will be replaced later with inst.yearshtml + html += ''; + } + } + html += this._get(inst, 'yearSuffix'); + if (showMonthAfterYear) + html += (secondary || !(changeMonth && changeYear) ? ' ' : '') + monthHtml; + html += '
        '; // Close datepicker_header + return html; + }, + + /* Adjust one of the date sub-fields. */ + _adjustInstDate: function(inst, offset, period) { + var year = inst.drawYear + (period == 'Y' ? offset : 0); + var month = inst.drawMonth + (period == 'M' ? offset : 0); + var day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + + (period == 'D' ? offset : 0); + var date = this._restrictMinMax(inst, + this._daylightSavingAdjust(new Date(year, month, day))); + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + if (period == 'M' || period == 'Y') + this._notifyChange(inst); + }, + + /* Ensure a date is within any min/max bounds. */ + _restrictMinMax: function(inst, date) { + var minDate = this._getMinMaxDate(inst, 'min'); + var maxDate = this._getMinMaxDate(inst, 'max'); + var newDate = (minDate && date < minDate ? minDate : date); + newDate = (maxDate && newDate > maxDate ? maxDate : newDate); + return newDate; + }, + + /* Notify change of month/year. */ + _notifyChange: function(inst) { + var onChange = this._get(inst, 'onChangeMonthYear'); + if (onChange) + onChange.apply((inst.input ? inst.input[0] : null), + [inst.selectedYear, inst.selectedMonth + 1, inst]); + }, + + /* Determine the number of months to show. */ + _getNumberOfMonths: function(inst) { + var numMonths = this._get(inst, 'numberOfMonths'); + return (numMonths == null ? [1, 1] : (typeof numMonths == 'number' ? [1, numMonths] : numMonths)); + }, + + /* Determine the current maximum date - ensure no time components are set. */ + _getMinMaxDate: function(inst, minMax) { + return this._determineDate(inst, this._get(inst, minMax + 'Date'), null); + }, + + /* Find the number of days in a given month. */ + _getDaysInMonth: function(year, month) { + return 32 - new Date(year, month, 32).getDate(); + }, + + /* Find the day of the week of the first of a month. */ + _getFirstDayOfMonth: function(year, month) { + return new Date(year, month, 1).getDay(); + }, + + /* Determines if we should allow a "next/prev" month display change. */ + _canAdjustMonth: function(inst, offset, curYear, curMonth) { + var numMonths = this._getNumberOfMonths(inst); + var date = this._daylightSavingAdjust(new Date(curYear, + curMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1)); + if (offset < 0) + date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth())); + return this._isInRange(inst, date); + }, + + /* Is the given date in the accepted range? */ + _isInRange: function(inst, date) { + var minDate = this._getMinMaxDate(inst, 'min'); + var maxDate = this._getMinMaxDate(inst, 'max'); + return ((!minDate || date.getTime() >= minDate.getTime()) && + (!maxDate || date.getTime() <= maxDate.getTime())); + }, + + /* Provide the configuration settings for formatting/parsing. */ + _getFormatConfig: function(inst) { + var shortYearCutoff = this._get(inst, 'shortYearCutoff'); + shortYearCutoff = (typeof shortYearCutoff != 'string' ? shortYearCutoff : + new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10)); + return {shortYearCutoff: shortYearCutoff, + dayNamesShort: this._get(inst, 'dayNamesShort'), dayNames: this._get(inst, 'dayNames'), + monthNamesShort: this._get(inst, 'monthNamesShort'), monthNames: this._get(inst, 'monthNames')}; + }, + + /* Format the given date for display. */ + _formatDate: function(inst, day, month, year) { + if (!day) { + inst.currentDay = inst.selectedDay; + inst.currentMonth = inst.selectedMonth; + inst.currentYear = inst.selectedYear; + } + var date = (day ? (typeof day == 'object' ? day : + this._daylightSavingAdjust(new Date(year, month, day))) : + this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay))); + return this.formatDate(this._get(inst, 'dateFormat'), date, this._getFormatConfig(inst)); + } +}); + +/* jQuery extend now ignores nulls! */ +function extendRemove(target, props) { + $.extend(target, props); + for (var name in props) + if (props[name] == null || props[name] == undefined) + target[name] = props[name]; + return target; +}; + +/* Determine whether an object is an array. */ +function isArray(a) { + return (a && (($.browser.safari && typeof a == 'object' && a.length) || + (a.constructor && a.constructor.toString().match(/\Array\(\)/)))); +}; + +/* Invoke the datepicker functionality. + @param options string - a command, optionally followed by additional parameters or + Object - settings for attaching new datepicker functionality + @return jQuery object */ +$.fn.datepicker = function(options){ + + /* Initialise the date picker. */ + if (!$.datepicker.initialized) { + $(document).mousedown($.datepicker._checkExternalClick). + find('body').append($.datepicker.dpDiv); + $.datepicker.initialized = true; + } + + var otherArgs = Array.prototype.slice.call(arguments, 1); + if (typeof options == 'string' && (options == 'isDisabled' || options == 'getDate' || options == 'widget')) + return $.datepicker['_' + options + 'Datepicker']. + apply($.datepicker, [this[0]].concat(otherArgs)); + if (options == 'option' && arguments.length == 2 && typeof arguments[1] == 'string') + return $.datepicker['_' + options + 'Datepicker']. + apply($.datepicker, [this[0]].concat(otherArgs)); + return this.each(function() { + typeof options == 'string' ? + $.datepicker['_' + options + 'Datepicker']. + apply($.datepicker, [this].concat(otherArgs)) : + $.datepicker._attachDatepicker(this, options); + }); +}; + +$.datepicker = new Datepicker(); // singleton instance +$.datepicker.initialized = false; +$.datepicker.uuid = new Date().getTime(); +$.datepicker.version = "1.8.7"; + +// Workaround for #4055 +// Add another global to avoid noConflict issues with inline event handlers +window['DP_jQuery_' + dpuuid] = $; + +})(jQuery); diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.mouse.js b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.mouse.js new file mode 100644 index 0000000..d45c0f1 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.mouse.js @@ -0,0 +1,151 @@ +/*! + * jQuery UI Mouse 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function( $, undefined ) { + +$.widget("ui.mouse", { + options: { + cancel: ':input,option', + distance: 1, + delay: 0 + }, + _mouseInit: function() { + var self = this; + + this.element + .bind('mousedown.'+this.widgetName, function(event) { + return self._mouseDown(event); + }) + .bind('click.'+this.widgetName, function(event) { + if (true === $.data(event.target, self.widgetName + '.preventClickEvent')) { + $.removeData(event.target, self.widgetName + '.preventClickEvent'); + event.stopImmediatePropagation(); + return false; + } + }); + + this.started = false; + }, + + // TODO: make sure destroying one instance of mouse doesn't mess with + // other instances of mouse + _mouseDestroy: function() { + this.element.unbind('.'+this.widgetName); + }, + + _mouseDown: function(event) { + // don't let more than one widget handle mouseStart + // TODO: figure out why we have to use originalEvent + event.originalEvent = event.originalEvent || {}; + if (event.originalEvent.mouseHandled) { return; } + + // we may have missed mouseup (out of window) + (this._mouseStarted && this._mouseUp(event)); + + this._mouseDownEvent = event; + + var self = this, + btnIsLeft = (event.which == 1), + elIsCancel = (typeof this.options.cancel == "string" ? $(event.target).parents().add(event.target).filter(this.options.cancel).length : false); + if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) { + return true; + } + + this.mouseDelayMet = !this.options.delay; + if (!this.mouseDelayMet) { + this._mouseDelayTimer = setTimeout(function() { + self.mouseDelayMet = true; + }, this.options.delay); + } + + if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { + this._mouseStarted = (this._mouseStart(event) !== false); + if (!this._mouseStarted) { + event.preventDefault(); + return true; + } + } + + // these delegates are required to keep context + this._mouseMoveDelegate = function(event) { + return self._mouseMove(event); + }; + this._mouseUpDelegate = function(event) { + return self._mouseUp(event); + }; + $(document) + .bind('mousemove.'+this.widgetName, this._mouseMoveDelegate) + .bind('mouseup.'+this.widgetName, this._mouseUpDelegate); + + event.preventDefault(); + event.originalEvent.mouseHandled = true; + return true; + }, + + _mouseMove: function(event) { + // IE mouseup check - mouseup happened when mouse was out of window + if ($.browser.msie && !(document.documentMode >= 9) && !event.button) { + return this._mouseUp(event); + } + + if (this._mouseStarted) { + this._mouseDrag(event); + return event.preventDefault(); + } + + if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { + this._mouseStarted = + (this._mouseStart(this._mouseDownEvent, event) !== false); + (this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event)); + } + + return !this._mouseStarted; + }, + + _mouseUp: function(event) { + $(document) + .unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate) + .unbind('mouseup.'+this.widgetName, this._mouseUpDelegate); + + if (this._mouseStarted) { + this._mouseStarted = false; + + if (event.target == this._mouseDownEvent.target) { + $.data(event.target, this.widgetName + '.preventClickEvent', true); + } + + this._mouseStop(event); + } + + return false; + }, + + _mouseDistanceMet: function(event) { + return (Math.max( + Math.abs(this._mouseDownEvent.pageX - event.pageX), + Math.abs(this._mouseDownEvent.pageY - event.pageY) + ) >= this.options.distance + ); + }, + + _mouseDelayMet: function(event) { + return this.mouseDelayMet; + }, + + // These are placeholder methods, to be overriden by extending plugin + _mouseStart: function(event) {}, + _mouseDrag: function(event) {}, + _mouseStop: function(event) {}, + _mouseCapture: function(event) { return true; } +}); + +})(jQuery); diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.slider.js b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.slider.js new file mode 100644 index 0000000..91a4cfd --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.slider.js @@ -0,0 +1,682 @@ +/* + * jQuery UI Slider 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function( $, undefined ) { + +// number of pages in a slider +// (how many times can you page up/down to go through the whole range) +var numPages = 5; + +$.widget( "ui.slider", $.ui.mouse, { + + widgetEventPrefix: "slide", + + options: { + animate: false, + distance: 0, + max: 100, + min: 0, + orientation: "horizontal", + range: false, + step: 1, + value: 0, + values: null + }, + + _create: function() { + var self = this, + o = this.options; + + this._keySliding = false; + this._mouseSliding = false; + this._animateOff = true; + this._handleIndex = null; + this._detectOrientation(); + this._mouseInit(); + + this.element + .addClass( "ui-slider" + + " ui-slider-" + this.orientation + + " ui-widget" + + " ui-widget-content" + + " ui-corner-all" ); + + if ( o.disabled ) { + this.element.addClass( "ui-slider-disabled ui-disabled" ); + } + + this.range = $([]); + + if ( o.range ) { + if ( o.range === true ) { + this.range = $( "
        " ); + if ( !o.values ) { + o.values = [ this._valueMin(), this._valueMin() ]; + } + if ( o.values.length && o.values.length !== 2 ) { + o.values = [ o.values[0], o.values[0] ]; + } + } else { + this.range = $( "
        " ); + } + + this.range + .appendTo( this.element ) + .addClass( "ui-slider-range" ); + + if ( o.range === "min" || o.range === "max" ) { + this.range.addClass( "ui-slider-range-" + o.range ); + } + + // note: this isn't the most fittingly semantic framework class for this element, + // but worked best visually with a variety of themes + this.range.addClass( "ui-widget-header" ); + } + + if ( $( ".ui-slider-handle", this.element ).length === 0 ) { + $( "" ) + .appendTo( this.element ) + .addClass( "ui-slider-handle" ); + } + + if ( o.values && o.values.length ) { + while ( $(".ui-slider-handle", this.element).length < o.values.length ) { + $( "" ) + .appendTo( this.element ) + .addClass( "ui-slider-handle" ); + } + } + + this.handles = $( ".ui-slider-handle", this.element ) + .addClass( "ui-state-default" + + " ui-corner-all" ); + + this.handle = this.handles.eq( 0 ); + + this.handles.add( this.range ).filter( "a" ) + .click(function( event ) { + event.preventDefault(); + }) + .hover(function() { + if ( !o.disabled ) { + $( this ).addClass( "ui-state-hover" ); + } + }, function() { + $( this ).removeClass( "ui-state-hover" ); + }) + .focus(function() { + if ( !o.disabled ) { + $( ".ui-slider .ui-state-focus" ).removeClass( "ui-state-focus" ); + $( this ).addClass( "ui-state-focus" ); + } else { + $( this ).blur(); + } + }) + .blur(function() { + $( this ).removeClass( "ui-state-focus" ); + }); + + this.handles.each(function( i ) { + $( this ).data( "index.ui-slider-handle", i ); + }); + + this.handles + .keydown(function( event ) { + var ret = true, + index = $( this ).data( "index.ui-slider-handle" ), + allowed, + curVal, + newVal, + step; + + if ( self.options.disabled ) { + return; + } + + switch ( event.keyCode ) { + case $.ui.keyCode.HOME: + case $.ui.keyCode.END: + case $.ui.keyCode.PAGE_UP: + case $.ui.keyCode.PAGE_DOWN: + case $.ui.keyCode.UP: + case $.ui.keyCode.RIGHT: + case $.ui.keyCode.DOWN: + case $.ui.keyCode.LEFT: + ret = false; + if ( !self._keySliding ) { + self._keySliding = true; + $( this ).addClass( "ui-state-active" ); + allowed = self._start( event, index ); + if ( allowed === false ) { + return; + } + } + break; + } + + step = self.options.step; + if ( self.options.values && self.options.values.length ) { + curVal = newVal = self.values( index ); + } else { + curVal = newVal = self.value(); + } + + switch ( event.keyCode ) { + case $.ui.keyCode.HOME: + newVal = self._valueMin(); + break; + case $.ui.keyCode.END: + newVal = self._valueMax(); + break; + case $.ui.keyCode.PAGE_UP: + newVal = self._trimAlignValue( curVal + ( (self._valueMax() - self._valueMin()) / numPages ) ); + break; + case $.ui.keyCode.PAGE_DOWN: + newVal = self._trimAlignValue( curVal - ( (self._valueMax() - self._valueMin()) / numPages ) ); + break; + case $.ui.keyCode.UP: + case $.ui.keyCode.RIGHT: + if ( curVal === self._valueMax() ) { + return; + } + newVal = self._trimAlignValue( curVal + step ); + break; + case $.ui.keyCode.DOWN: + case $.ui.keyCode.LEFT: + if ( curVal === self._valueMin() ) { + return; + } + newVal = self._trimAlignValue( curVal - step ); + break; + } + + self._slide( event, index, newVal ); + + return ret; + + }) + .keyup(function( event ) { + var index = $( this ).data( "index.ui-slider-handle" ); + + if ( self._keySliding ) { + self._keySliding = false; + self._stop( event, index ); + self._change( event, index ); + $( this ).removeClass( "ui-state-active" ); + } + + }); + + this._refreshValue(); + + this._animateOff = false; + }, + + destroy: function() { + this.handles.remove(); + this.range.remove(); + + this.element + .removeClass( "ui-slider" + + " ui-slider-horizontal" + + " ui-slider-vertical" + + " ui-slider-disabled" + + " ui-widget" + + " ui-widget-content" + + " ui-corner-all" ) + .removeData( "slider" ) + .unbind( ".slider" ); + + this._mouseDestroy(); + + return this; + }, + + _mouseCapture: function( event ) { + var o = this.options, + position, + normValue, + distance, + closestHandle, + self, + index, + allowed, + offset, + mouseOverHandle; + + if ( o.disabled ) { + return false; + } + + this.elementSize = { + width: this.element.outerWidth(), + height: this.element.outerHeight() + }; + this.elementOffset = this.element.offset(); + + position = { x: event.pageX, y: event.pageY }; + normValue = this._normValueFromMouse( position ); + distance = this._valueMax() - this._valueMin() + 1; + self = this; + this.handles.each(function( i ) { + var thisDistance = Math.abs( normValue - self.values(i) ); + if ( distance > thisDistance ) { + distance = thisDistance; + closestHandle = $( this ); + index = i; + } + }); + + // workaround for bug #3736 (if both handles of a range are at 0, + // the first is always used as the one with least distance, + // and moving it is obviously prevented by preventing negative ranges) + if( o.range === true && this.values(1) === o.min ) { + index += 1; + closestHandle = $( this.handles[index] ); + } + + allowed = this._start( event, index ); + if ( allowed === false ) { + return false; + } + this._mouseSliding = true; + + self._handleIndex = index; + + closestHandle + .addClass( "ui-state-active" ) + .focus(); + + offset = closestHandle.offset(); + mouseOverHandle = !$( event.target ).parents().andSelf().is( ".ui-slider-handle" ); + this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : { + left: event.pageX - offset.left - ( closestHandle.width() / 2 ), + top: event.pageY - offset.top - + ( closestHandle.height() / 2 ) - + ( parseInt( closestHandle.css("borderTopWidth"), 10 ) || 0 ) - + ( parseInt( closestHandle.css("borderBottomWidth"), 10 ) || 0) + + ( parseInt( closestHandle.css("marginTop"), 10 ) || 0) + }; + + if ( !this.handles.hasClass( "ui-state-hover" ) ) { + this._slide( event, index, normValue ); + } + this._animateOff = true; + return true; + }, + + _mouseStart: function( event ) { + return true; + }, + + _mouseDrag: function( event ) { + var position = { x: event.pageX, y: event.pageY }, + normValue = this._normValueFromMouse( position ); + + this._slide( event, this._handleIndex, normValue ); + + return false; + }, + + _mouseStop: function( event ) { + this.handles.removeClass( "ui-state-active" ); + this._mouseSliding = false; + + this._stop( event, this._handleIndex ); + this._change( event, this._handleIndex ); + + this._handleIndex = null; + this._clickOffset = null; + this._animateOff = false; + + return false; + }, + + _detectOrientation: function() { + this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal"; + }, + + _normValueFromMouse: function( position ) { + var pixelTotal, + pixelMouse, + percentMouse, + valueTotal, + valueMouse; + + if ( this.orientation === "horizontal" ) { + pixelTotal = this.elementSize.width; + pixelMouse = position.x - this.elementOffset.left - ( this._clickOffset ? this._clickOffset.left : 0 ); + } else { + pixelTotal = this.elementSize.height; + pixelMouse = position.y - this.elementOffset.top - ( this._clickOffset ? this._clickOffset.top : 0 ); + } + + percentMouse = ( pixelMouse / pixelTotal ); + if ( percentMouse > 1 ) { + percentMouse = 1; + } + if ( percentMouse < 0 ) { + percentMouse = 0; + } + if ( this.orientation === "vertical" ) { + percentMouse = 1 - percentMouse; + } + + valueTotal = this._valueMax() - this._valueMin(); + valueMouse = this._valueMin() + percentMouse * valueTotal; + + return this._trimAlignValue( valueMouse ); + }, + + _start: function( event, index ) { + var uiHash = { + handle: this.handles[ index ], + value: this.value() + }; + if ( this.options.values && this.options.values.length ) { + uiHash.value = this.values( index ); + uiHash.values = this.values(); + } + return this._trigger( "start", event, uiHash ); + }, + + _slide: function( event, index, newVal ) { + var otherVal, + newValues, + allowed; + + if ( this.options.values && this.options.values.length ) { + otherVal = this.values( index ? 0 : 1 ); + + if ( ( this.options.values.length === 2 && this.options.range === true ) && + ( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) ) + ) { + newVal = otherVal; + } + + if ( newVal !== this.values( index ) ) { + newValues = this.values(); + newValues[ index ] = newVal; + // A slide can be canceled by returning false from the slide callback + allowed = this._trigger( "slide", event, { + handle: this.handles[ index ], + value: newVal, + values: newValues + } ); + otherVal = this.values( index ? 0 : 1 ); + if ( allowed !== false ) { + this.values( index, newVal, true ); + } + } + } else { + if ( newVal !== this.value() ) { + // A slide can be canceled by returning false from the slide callback + allowed = this._trigger( "slide", event, { + handle: this.handles[ index ], + value: newVal + } ); + if ( allowed !== false ) { + this.value( newVal ); + } + } + } + }, + + _stop: function( event, index ) { + var uiHash = { + handle: this.handles[ index ], + value: this.value() + }; + if ( this.options.values && this.options.values.length ) { + uiHash.value = this.values( index ); + uiHash.values = this.values(); + } + + this._trigger( "stop", event, uiHash ); + }, + + _change: function( event, index ) { + if ( !this._keySliding && !this._mouseSliding ) { + var uiHash = { + handle: this.handles[ index ], + value: this.value() + }; + if ( this.options.values && this.options.values.length ) { + uiHash.value = this.values( index ); + uiHash.values = this.values(); + } + + this._trigger( "change", event, uiHash ); + } + }, + + value: function( newValue ) { + if ( arguments.length ) { + this.options.value = this._trimAlignValue( newValue ); + this._refreshValue(); + this._change( null, 0 ); + } + + return this._value(); + }, + + values: function( index, newValue ) { + var vals, + newValues, + i; + + if ( arguments.length > 1 ) { + this.options.values[ index ] = this._trimAlignValue( newValue ); + this._refreshValue(); + this._change( null, index ); + } + + if ( arguments.length ) { + if ( $.isArray( arguments[ 0 ] ) ) { + vals = this.options.values; + newValues = arguments[ 0 ]; + for ( i = 0; i < vals.length; i += 1 ) { + vals[ i ] = this._trimAlignValue( newValues[ i ] ); + this._change( null, i ); + } + this._refreshValue(); + } else { + if ( this.options.values && this.options.values.length ) { + return this._values( index ); + } else { + return this.value(); + } + } + } else { + return this._values(); + } + }, + + _setOption: function( key, value ) { + var i, + valsLength = 0; + + if ( $.isArray( this.options.values ) ) { + valsLength = this.options.values.length; + } + + $.Widget.prototype._setOption.apply( this, arguments ); + + switch ( key ) { + case "disabled": + if ( value ) { + this.handles.filter( ".ui-state-focus" ).blur(); + this.handles.removeClass( "ui-state-hover" ); + this.handles.attr( "disabled", "disabled" ); + this.element.addClass( "ui-disabled" ); + } else { + this.handles.removeAttr( "disabled" ); + this.element.removeClass( "ui-disabled" ); + } + break; + case "orientation": + this._detectOrientation(); + this.element + .removeClass( "ui-slider-horizontal ui-slider-vertical" ) + .addClass( "ui-slider-" + this.orientation ); + this._refreshValue(); + break; + case "value": + this._animateOff = true; + this._refreshValue(); + this._change( null, 0 ); + this._animateOff = false; + break; + case "values": + this._animateOff = true; + this._refreshValue(); + for ( i = 0; i < valsLength; i += 1 ) { + this._change( null, i ); + } + this._animateOff = false; + break; + } + }, + + //internal value getter + // _value() returns value trimmed by min and max, aligned by step + _value: function() { + var val = this.options.value; + val = this._trimAlignValue( val ); + + return val; + }, + + //internal values getter + // _values() returns array of values trimmed by min and max, aligned by step + // _values( index ) returns single value trimmed by min and max, aligned by step + _values: function( index ) { + var val, + vals, + i; + + if ( arguments.length ) { + val = this.options.values[ index ]; + val = this._trimAlignValue( val ); + + return val; + } else { + // .slice() creates a copy of the array + // this copy gets trimmed by min and max and then returned + vals = this.options.values.slice(); + for ( i = 0; i < vals.length; i+= 1) { + vals[ i ] = this._trimAlignValue( vals[ i ] ); + } + + return vals; + } + }, + + // returns the step-aligned value that val is closest to, between (inclusive) min and max + _trimAlignValue: function( val ) { + if ( val <= this._valueMin() ) { + return this._valueMin(); + } + if ( val >= this._valueMax() ) { + return this._valueMax(); + } + var step = ( this.options.step > 0 ) ? this.options.step : 1, + valModStep = (val - this._valueMin()) % step; + alignValue = val - valModStep; + + if ( Math.abs(valModStep) * 2 >= step ) { + alignValue += ( valModStep > 0 ) ? step : ( -step ); + } + + // Since JavaScript has problems with large floats, round + // the final value to 5 digits after the decimal point (see #4124) + return parseFloat( alignValue.toFixed(5) ); + }, + + _valueMin: function() { + return this.options.min; + }, + + _valueMax: function() { + return this.options.max; + }, + + _refreshValue: function() { + var oRange = this.options.range, + o = this.options, + self = this, + animate = ( !this._animateOff ) ? o.animate : false, + valPercent, + _set = {}, + lastValPercent, + value, + valueMin, + valueMax; + + if ( this.options.values && this.options.values.length ) { + this.handles.each(function( i, j ) { + valPercent = ( self.values(i) - self._valueMin() ) / ( self._valueMax() - self._valueMin() ) * 100; + _set[ self.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; + $( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); + if ( self.options.range === true ) { + if ( self.orientation === "horizontal" ) { + if ( i === 0 ) { + self.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { left: valPercent + "%" }, o.animate ); + } + if ( i === 1 ) { + self.range[ animate ? "animate" : "css" ]( { width: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } ); + } + } else { + if ( i === 0 ) { + self.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { bottom: ( valPercent ) + "%" }, o.animate ); + } + if ( i === 1 ) { + self.range[ animate ? "animate" : "css" ]( { height: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } ); + } + } + } + lastValPercent = valPercent; + }); + } else { + value = this.value(); + valueMin = this._valueMin(); + valueMax = this._valueMax(); + valPercent = ( valueMax !== valueMin ) ? + ( value - valueMin ) / ( valueMax - valueMin ) * 100 : + 0; + _set[ self.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; + this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); + + if ( oRange === "min" && this.orientation === "horizontal" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { width: valPercent + "%" }, o.animate ); + } + if ( oRange === "max" && this.orientation === "horizontal" ) { + this.range[ animate ? "animate" : "css" ]( { width: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } ); + } + if ( oRange === "min" && this.orientation === "vertical" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { height: valPercent + "%" }, o.animate ); + } + if ( oRange === "max" && this.orientation === "vertical" ) { + this.range[ animate ? "animate" : "css" ]( { height: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } ); + } + } + } + +}); + +$.extend( $.ui.slider, { + version: "1.8.7" +}); + +}(jQuery)); diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.sortable.js b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.sortable.js new file mode 100644 index 0000000..4134efd --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.sortable.js @@ -0,0 +1,1071 @@ +/* + * jQuery UI Sortable 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Sortables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function( $, undefined ) { + +$.widget("ui.sortable", $.ui.mouse, { + widgetEventPrefix: "sort", + options: { + appendTo: "parent", + axis: false, + connectWith: false, + containment: false, + cursor: 'auto', + cursorAt: false, + dropOnEmpty: true, + forcePlaceholderSize: false, + forceHelperSize: false, + grid: false, + handle: false, + helper: "original", + items: '> *', + opacity: false, + placeholder: false, + revert: false, + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + scope: "default", + tolerance: "intersect", + zIndex: 1000 + }, + _create: function() { + + var o = this.options; + this.containerCache = {}; + this.element.addClass("ui-sortable"); + + //Get the items + this.refresh(); + + //Let's determine if the items are floating + this.floating = this.items.length ? (/left|right/).test(this.items[0].item.css('float')) : false; + + //Let's determine the parent's offset + this.offset = this.element.offset(); + + //Initialize mouse events for interaction + this._mouseInit(); + + }, + + destroy: function() { + this.element + .removeClass("ui-sortable ui-sortable-disabled") + .removeData("sortable") + .unbind(".sortable"); + this._mouseDestroy(); + + for ( var i = this.items.length - 1; i >= 0; i-- ) + this.items[i].item.removeData("sortable-item"); + + return this; + }, + + _setOption: function(key, value){ + if ( key === "disabled" ) { + this.options[ key ] = value; + + this.widget() + [ value ? "addClass" : "removeClass"]( "ui-sortable-disabled" ); + } else { + // Don't call widget base _setOption for disable as it adds ui-state-disabled class + $.Widget.prototype._setOption.apply(this, arguments); + } + }, + + _mouseCapture: function(event, overrideHandle) { + + if (this.reverting) { + return false; + } + + if(this.options.disabled || this.options.type == 'static') return false; + + //We have to refresh the items data once first + this._refreshItems(event); + + //Find out if the clicked node (or one of its parents) is a actual item in this.items + var currentItem = null, self = this, nodes = $(event.target).parents().each(function() { + if($.data(this, 'sortable-item') == self) { + currentItem = $(this); + return false; + } + }); + if($.data(event.target, 'sortable-item') == self) currentItem = $(event.target); + + if(!currentItem) return false; + if(this.options.handle && !overrideHandle) { + var validHandle = false; + + $(this.options.handle, currentItem).find("*").andSelf().each(function() { if(this == event.target) validHandle = true; }); + if(!validHandle) return false; + } + + this.currentItem = currentItem; + this._removeCurrentsFromItems(); + return true; + + }, + + _mouseStart: function(event, overrideHandle, noActivation) { + + var o = this.options, self = this; + this.currentContainer = this; + + //We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture + this.refreshPositions(); + + //Create and append the visible helper + this.helper = this._createHelper(event); + + //Cache the helper size + this._cacheHelperProportions(); + + /* + * - Position generation - + * This block generates everything position related - it's the core of draggables. + */ + + //Cache the margins of the original element + this._cacheMargins(); + + //Get the next scrolling parent + this.scrollParent = this.helper.scrollParent(); + + //The element's absolute position on the page minus margins + this.offset = this.currentItem.offset(); + this.offset = { + top: this.offset.top - this.margins.top, + left: this.offset.left - this.margins.left + }; + + // Only after we got the offset, we can change the helper's position to absolute + // TODO: Still need to figure out a way to make relative sorting possible + this.helper.css("position", "absolute"); + this.cssPosition = this.helper.css("position"); + + $.extend(this.offset, { + click: { //Where the click happened, relative to the element + left: event.pageX - this.offset.left, + top: event.pageY - this.offset.top + }, + parent: this._getParentOffset(), + relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper + }); + + //Generate the original position + this.originalPosition = this._generatePosition(event); + this.originalPageX = event.pageX; + this.originalPageY = event.pageY; + + //Adjust the mouse offset relative to the helper if 'cursorAt' is supplied + (o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt)); + + //Cache the former DOM position + this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] }; + + //If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way + if(this.helper[0] != this.currentItem[0]) { + this.currentItem.hide(); + } + + //Create the placeholder + this._createPlaceholder(); + + //Set a containment if given in the options + if(o.containment) + this._setContainment(); + + if(o.cursor) { // cursor option + if ($('body').css("cursor")) this._storedCursor = $('body').css("cursor"); + $('body').css("cursor", o.cursor); + } + + if(o.opacity) { // opacity option + if (this.helper.css("opacity")) this._storedOpacity = this.helper.css("opacity"); + this.helper.css("opacity", o.opacity); + } + + if(o.zIndex) { // zIndex option + if (this.helper.css("zIndex")) this._storedZIndex = this.helper.css("zIndex"); + this.helper.css("zIndex", o.zIndex); + } + + //Prepare scrolling + if(this.scrollParent[0] != document && this.scrollParent[0].tagName != 'HTML') + this.overflowOffset = this.scrollParent.offset(); + + //Call callbacks + this._trigger("start", event, this._uiHash()); + + //Recache the helper size + if(!this._preserveHelperProportions) + this._cacheHelperProportions(); + + + //Post 'activate' events to possible containers + if(!noActivation) { + for (var i = this.containers.length - 1; i >= 0; i--) { this.containers[i]._trigger("activate", event, self._uiHash(this)); } + } + + //Prepare possible droppables + if($.ui.ddmanager) + $.ui.ddmanager.current = this; + + if ($.ui.ddmanager && !o.dropBehaviour) + $.ui.ddmanager.prepareOffsets(this, event); + + this.dragging = true; + + this.helper.addClass("ui-sortable-helper"); + this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position + return true; + + }, + + _mouseDrag: function(event) { + + //Compute the helpers position + this.position = this._generatePosition(event); + this.positionAbs = this._convertPositionTo("absolute"); + + if (!this.lastPositionAbs) { + this.lastPositionAbs = this.positionAbs; + } + + //Do scrolling + if(this.options.scroll) { + var o = this.options, scrolled = false; + if(this.scrollParent[0] != document && this.scrollParent[0].tagName != 'HTML') { + + if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) + this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed; + else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) + this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed; + + if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) + this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed; + else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) + this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed; + + } else { + + if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) + scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed); + else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) + scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed); + + if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) + scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed); + else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) + scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed); + + } + + if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) + $.ui.ddmanager.prepareOffsets(this, event); + } + + //Regenerate the absolute position used for position checks + this.positionAbs = this._convertPositionTo("absolute"); + + //Set the helper position + if(!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left+'px'; + if(!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top+'px'; + + //Rearrange + for (var i = this.items.length - 1; i >= 0; i--) { + + //Cache variables and intersection, continue if no intersection + var item = this.items[i], itemElement = item.item[0], intersection = this._intersectsWithPointer(item); + if (!intersection) continue; + + if(itemElement != this.currentItem[0] //cannot intersect with itself + && this.placeholder[intersection == 1 ? "next" : "prev"]()[0] != itemElement //no useless actions that have been done before + && !$.ui.contains(this.placeholder[0], itemElement) //no action if the item moved is the parent of the item checked + && (this.options.type == 'semi-dynamic' ? !$.ui.contains(this.element[0], itemElement) : true) + //&& itemElement.parentNode == this.placeholder[0].parentNode // only rearrange items within the same container + ) { + + this.direction = intersection == 1 ? "down" : "up"; + + if (this.options.tolerance == "pointer" || this._intersectsWithSides(item)) { + this._rearrange(event, item); + } else { + break; + } + + this._trigger("change", event, this._uiHash()); + break; + } + } + + //Post events to containers + this._contactContainers(event); + + //Interconnect with droppables + if($.ui.ddmanager) $.ui.ddmanager.drag(this, event); + + //Call callbacks + this._trigger('sort', event, this._uiHash()); + + this.lastPositionAbs = this.positionAbs; + return false; + + }, + + _mouseStop: function(event, noPropagation) { + + if(!event) return; + + //If we are using droppables, inform the manager about the drop + if ($.ui.ddmanager && !this.options.dropBehaviour) + $.ui.ddmanager.drop(this, event); + + if(this.options.revert) { + var self = this; + var cur = self.placeholder.offset(); + + self.reverting = true; + + $(this.helper).animate({ + left: cur.left - this.offset.parent.left - self.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft), + top: cur.top - this.offset.parent.top - self.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) + }, parseInt(this.options.revert, 10) || 500, function() { + self._clear(event); + }); + } else { + this._clear(event, noPropagation); + } + + return false; + + }, + + cancel: function() { + + var self = this; + + if(this.dragging) { + + this._mouseUp(); + + if(this.options.helper == "original") + this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); + else + this.currentItem.show(); + + //Post deactivating events to containers + for (var i = this.containers.length - 1; i >= 0; i--){ + this.containers[i]._trigger("deactivate", null, self._uiHash(this)); + if(this.containers[i].containerCache.over) { + this.containers[i]._trigger("out", null, self._uiHash(this)); + this.containers[i].containerCache.over = 0; + } + } + + } + + //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! + if(this.placeholder[0].parentNode) this.placeholder[0].parentNode.removeChild(this.placeholder[0]); + if(this.options.helper != "original" && this.helper && this.helper[0].parentNode) this.helper.remove(); + + $.extend(this, { + helper: null, + dragging: false, + reverting: false, + _noFinalSort: null + }); + + if(this.domPosition.prev) { + $(this.domPosition.prev).after(this.currentItem); + } else { + $(this.domPosition.parent).prepend(this.currentItem); + } + + return this; + + }, + + serialize: function(o) { + + var items = this._getItemsAsjQuery(o && o.connected); + var str = []; o = o || {}; + + $(items).each(function() { + var res = ($(o.item || this).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/)); + if(res) str.push((o.key || res[1]+'[]')+'='+(o.key && o.expression ? res[1] : res[2])); + }); + + if(!str.length && o.key) { + str.push(o.key + '='); + } + + return str.join('&'); + + }, + + toArray: function(o) { + + var items = this._getItemsAsjQuery(o && o.connected); + var ret = []; o = o || {}; + + items.each(function() { ret.push($(o.item || this).attr(o.attribute || 'id') || ''); }); + return ret; + + }, + + /* Be careful with the following core functions */ + _intersectsWith: function(item) { + + var x1 = this.positionAbs.left, + x2 = x1 + this.helperProportions.width, + y1 = this.positionAbs.top, + y2 = y1 + this.helperProportions.height; + + var l = item.left, + r = l + item.width, + t = item.top, + b = t + item.height; + + var dyClick = this.offset.click.top, + dxClick = this.offset.click.left; + + var isOverElement = (y1 + dyClick) > t && (y1 + dyClick) < b && (x1 + dxClick) > l && (x1 + dxClick) < r; + + if( this.options.tolerance == "pointer" + || this.options.forcePointerForContainers + || (this.options.tolerance != "pointer" && this.helperProportions[this.floating ? 'width' : 'height'] > item[this.floating ? 'width' : 'height']) + ) { + return isOverElement; + } else { + + return (l < x1 + (this.helperProportions.width / 2) // Right Half + && x2 - (this.helperProportions.width / 2) < r // Left Half + && t < y1 + (this.helperProportions.height / 2) // Bottom Half + && y2 - (this.helperProportions.height / 2) < b ); // Top Half + + } + }, + + _intersectsWithPointer: function(item) { + + var isOverElementHeight = $.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height), + isOverElementWidth = $.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width), + isOverElement = isOverElementHeight && isOverElementWidth, + verticalDirection = this._getDragVerticalDirection(), + horizontalDirection = this._getDragHorizontalDirection(); + + if (!isOverElement) + return false; + + return this.floating ? + ( ((horizontalDirection && horizontalDirection == "right") || verticalDirection == "down") ? 2 : 1 ) + : ( verticalDirection && (verticalDirection == "down" ? 2 : 1) ); + + }, + + _intersectsWithSides: function(item) { + + var isOverBottomHalf = $.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height), + isOverRightHalf = $.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width), + verticalDirection = this._getDragVerticalDirection(), + horizontalDirection = this._getDragHorizontalDirection(); + + if (this.floating && horizontalDirection) { + return ((horizontalDirection == "right" && isOverRightHalf) || (horizontalDirection == "left" && !isOverRightHalf)); + } else { + return verticalDirection && ((verticalDirection == "down" && isOverBottomHalf) || (verticalDirection == "up" && !isOverBottomHalf)); + } + + }, + + _getDragVerticalDirection: function() { + var delta = this.positionAbs.top - this.lastPositionAbs.top; + return delta != 0 && (delta > 0 ? "down" : "up"); + }, + + _getDragHorizontalDirection: function() { + var delta = this.positionAbs.left - this.lastPositionAbs.left; + return delta != 0 && (delta > 0 ? "right" : "left"); + }, + + refresh: function(event) { + this._refreshItems(event); + this.refreshPositions(); + return this; + }, + + _connectWith: function() { + var options = this.options; + return options.connectWith.constructor == String + ? [options.connectWith] + : options.connectWith; + }, + + _getItemsAsjQuery: function(connected) { + + var self = this; + var items = []; + var queries = []; + var connectWith = this._connectWith(); + + if(connectWith && connected) { + for (var i = connectWith.length - 1; i >= 0; i--){ + var cur = $(connectWith[i]); + for (var j = cur.length - 1; j >= 0; j--){ + var inst = $.data(cur[j], 'sortable'); + if(inst && inst != this && !inst.options.disabled) { + queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not('.ui-sortable-placeholder'), inst]); + } + }; + }; + } + + queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not('.ui-sortable-placeholder'), this]); + + for (var i = queries.length - 1; i >= 0; i--){ + queries[i][0].each(function() { + items.push(this); + }); + }; + + return $(items); + + }, + + _removeCurrentsFromItems: function() { + + var list = this.currentItem.find(":data(sortable-item)"); + + for (var i=0; i < this.items.length; i++) { + + for (var j=0; j < list.length; j++) { + if(list[j] == this.items[i].item[0]) + this.items.splice(i,1); + }; + + }; + + }, + + _refreshItems: function(event) { + + this.items = []; + this.containers = [this]; + var items = this.items; + var self = this; + var queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]]; + var connectWith = this._connectWith(); + + if(connectWith) { + for (var i = connectWith.length - 1; i >= 0; i--){ + var cur = $(connectWith[i]); + for (var j = cur.length - 1; j >= 0; j--){ + var inst = $.data(cur[j], 'sortable'); + if(inst && inst != this && !inst.options.disabled) { + queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]); + this.containers.push(inst); + } + }; + }; + } + + for (var i = queries.length - 1; i >= 0; i--) { + var targetData = queries[i][1]; + var _queries = queries[i][0]; + + for (var j=0, queriesLength = _queries.length; j < queriesLength; j++) { + var item = $(_queries[j]); + + item.data('sortable-item', targetData); // Data for target checking (mouse manager) + + items.push({ + item: item, + instance: targetData, + width: 0, height: 0, + left: 0, top: 0 + }); + }; + }; + + }, + + refreshPositions: function(fast) { + + //This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change + if(this.offsetParent && this.helper) { + this.offset.parent = this._getParentOffset(); + } + + for (var i = this.items.length - 1; i >= 0; i--){ + var item = this.items[i]; + + var t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item; + + if (!fast) { + item.width = t.outerWidth(); + item.height = t.outerHeight(); + } + + var p = t.offset(); + item.left = p.left; + item.top = p.top; + }; + + if(this.options.custom && this.options.custom.refreshContainers) { + this.options.custom.refreshContainers.call(this); + } else { + for (var i = this.containers.length - 1; i >= 0; i--){ + var p = this.containers[i].element.offset(); + this.containers[i].containerCache.left = p.left; + this.containers[i].containerCache.top = p.top; + this.containers[i].containerCache.width = this.containers[i].element.outerWidth(); + this.containers[i].containerCache.height = this.containers[i].element.outerHeight(); + }; + } + + return this; + }, + + _createPlaceholder: function(that) { + + var self = that || this, o = self.options; + + if(!o.placeholder || o.placeholder.constructor == String) { + var className = o.placeholder; + o.placeholder = { + element: function() { + + var el = $(document.createElement(self.currentItem[0].nodeName)) + .addClass(className || self.currentItem[0].className+" ui-sortable-placeholder") + .removeClass("ui-sortable-helper")[0]; + + if(!className) + el.style.visibility = "hidden"; + + return el; + }, + update: function(container, p) { + + // 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that + // 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified + if(className && !o.forcePlaceholderSize) return; + + //If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item + if(!p.height()) { p.height(self.currentItem.innerHeight() - parseInt(self.currentItem.css('paddingTop')||0, 10) - parseInt(self.currentItem.css('paddingBottom')||0, 10)); }; + if(!p.width()) { p.width(self.currentItem.innerWidth() - parseInt(self.currentItem.css('paddingLeft')||0, 10) - parseInt(self.currentItem.css('paddingRight')||0, 10)); }; + } + }; + } + + //Create the placeholder + self.placeholder = $(o.placeholder.element.call(self.element, self.currentItem)); + + //Append it after the actual current item + self.currentItem.after(self.placeholder); + + //Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317) + o.placeholder.update(self, self.placeholder); + + }, + + _contactContainers: function(event) { + + // get innermost container that intersects with item + var innermostContainer = null, innermostIndex = null; + + + for (var i = this.containers.length - 1; i >= 0; i--){ + + // never consider a container that's located within the item itself + if($.ui.contains(this.currentItem[0], this.containers[i].element[0])) + continue; + + if(this._intersectsWith(this.containers[i].containerCache)) { + + // if we've already found a container and it's more "inner" than this, then continue + if(innermostContainer && $.ui.contains(this.containers[i].element[0], innermostContainer.element[0])) + continue; + + innermostContainer = this.containers[i]; + innermostIndex = i; + + } else { + // container doesn't intersect. trigger "out" event if necessary + if(this.containers[i].containerCache.over) { + this.containers[i]._trigger("out", event, this._uiHash(this)); + this.containers[i].containerCache.over = 0; + } + } + + } + + // if no intersecting containers found, return + if(!innermostContainer) return; + + // move the item into the container if it's not there already + if(this.containers.length === 1) { + this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); + this.containers[innermostIndex].containerCache.over = 1; + } else if(this.currentContainer != this.containers[innermostIndex]) { + + //When entering a new container, we will find the item with the least distance and append our item near it + var dist = 10000; var itemWithLeastDistance = null; var base = this.positionAbs[this.containers[innermostIndex].floating ? 'left' : 'top']; + for (var j = this.items.length - 1; j >= 0; j--) { + if(!$.ui.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) continue; + var cur = this.items[j][this.containers[innermostIndex].floating ? 'left' : 'top']; + if(Math.abs(cur - base) < dist) { + dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j]; + } + } + + if(!itemWithLeastDistance && !this.options.dropOnEmpty) //Check if dropOnEmpty is enabled + return; + + this.currentContainer = this.containers[innermostIndex]; + itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true); + this._trigger("change", event, this._uiHash()); + this.containers[innermostIndex]._trigger("change", event, this._uiHash(this)); + + //Update the placeholder + this.options.placeholder.update(this.currentContainer, this.placeholder); + + this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); + this.containers[innermostIndex].containerCache.over = 1; + } + + + }, + + _createHelper: function(event) { + + var o = this.options; + var helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper == 'clone' ? this.currentItem.clone() : this.currentItem); + + if(!helper.parents('body').length) //Add the helper to the DOM if that didn't happen already + $(o.appendTo != 'parent' ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]); + + if(helper[0] == this.currentItem[0]) + this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") }; + + if(helper[0].style.width == '' || o.forceHelperSize) helper.width(this.currentItem.width()); + if(helper[0].style.height == '' || o.forceHelperSize) helper.height(this.currentItem.height()); + + return helper; + + }, + + _adjustOffsetFromHelper: function(obj) { + if (typeof obj == 'string') { + obj = obj.split(' '); + } + if ($.isArray(obj)) { + obj = {left: +obj[0], top: +obj[1] || 0}; + } + if ('left' in obj) { + this.offset.click.left = obj.left + this.margins.left; + } + if ('right' in obj) { + this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; + } + if ('top' in obj) { + this.offset.click.top = obj.top + this.margins.top; + } + if ('bottom' in obj) { + this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; + } + }, + + _getParentOffset: function() { + + + //Get the offsetParent and cache its position + this.offsetParent = this.helper.offsetParent(); + var po = this.offsetParent.offset(); + + // This is a special case where we need to modify a offset calculated on start, since the following happened: + // 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent + // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that + // the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag + if(this.cssPosition == 'absolute' && this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) { + po.left += this.scrollParent.scrollLeft(); + po.top += this.scrollParent.scrollTop(); + } + + if((this.offsetParent[0] == document.body) //This needs to be actually done for all browsers, since pageX/pageY includes this information + || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == 'html' && $.browser.msie)) //Ugly IE fix + po = { top: 0, left: 0 }; + + return { + top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), + left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0) + }; + + }, + + _getRelativeOffset: function() { + + if(this.cssPosition == "relative") { + var p = this.currentItem.position(); + return { + top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(), + left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft() + }; + } else { + return { top: 0, left: 0 }; + } + + }, + + _cacheMargins: function() { + this.margins = { + left: (parseInt(this.currentItem.css("marginLeft"),10) || 0), + top: (parseInt(this.currentItem.css("marginTop"),10) || 0) + }; + }, + + _cacheHelperProportions: function() { + this.helperProportions = { + width: this.helper.outerWidth(), + height: this.helper.outerHeight() + }; + }, + + _setContainment: function() { + + var o = this.options; + if(o.containment == 'parent') o.containment = this.helper[0].parentNode; + if(o.containment == 'document' || o.containment == 'window') this.containment = [ + 0 - this.offset.relative.left - this.offset.parent.left, + 0 - this.offset.relative.top - this.offset.parent.top, + $(o.containment == 'document' ? document : window).width() - this.helperProportions.width - this.margins.left, + ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top + ]; + + if(!(/^(document|window|parent)$/).test(o.containment)) { + var ce = $(o.containment)[0]; + var co = $(o.containment).offset(); + var over = ($(ce).css("overflow") != 'hidden'); + + this.containment = [ + co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left, + co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top, + co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left, + co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top + ]; + } + + }, + + _convertPositionTo: function(d, pos) { + + if(!pos) pos = this.position; + var mod = d == "absolute" ? 1 : -1; + var o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); + + return { + top: ( + pos.top // The absolute mouse position + + this.offset.relative.top * mod // Only for relative positioned nodes: Relative offset from element to offset parent + + this.offset.parent.top * mod // The offsetParent's offset without borders (offset + border) + - ($.browser.safari && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod) + ), + left: ( + pos.left // The absolute mouse position + + this.offset.relative.left * mod // Only for relative positioned nodes: Relative offset from element to offset parent + + this.offset.parent.left * mod // The offsetParent's offset without borders (offset + border) + - ($.browser.safari && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod) + ) + }; + + }, + + _generatePosition: function(event) { + + var o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); + + // This is another very weird special case that only happens for relative elements: + // 1. If the css position is relative + // 2. and the scroll parent is the document or similar to the offset parent + // we have to refresh the relative offset during the scroll so there are no jumps + if(this.cssPosition == 'relative' && !(this.scrollParent[0] != document && this.scrollParent[0] != this.offsetParent[0])) { + this.offset.relative = this._getRelativeOffset(); + } + + var pageX = event.pageX; + var pageY = event.pageY; + + /* + * - Position constraining - + * Constrain the position to a mix of grid, containment. + */ + + if(this.originalPosition) { //If we are not dragging yet, we won't check for options + + if(this.containment) { + if(event.pageX - this.offset.click.left < this.containment[0]) pageX = this.containment[0] + this.offset.click.left; + if(event.pageY - this.offset.click.top < this.containment[1]) pageY = this.containment[1] + this.offset.click.top; + if(event.pageX - this.offset.click.left > this.containment[2]) pageX = this.containment[2] + this.offset.click.left; + if(event.pageY - this.offset.click.top > this.containment[3]) pageY = this.containment[3] + this.offset.click.top; + } + + if(o.grid) { + var top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1]; + pageY = this.containment ? (!(top - this.offset.click.top < this.containment[1] || top - this.offset.click.top > this.containment[3]) ? top : (!(top - this.offset.click.top < this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; + + var left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0]; + pageX = this.containment ? (!(left - this.offset.click.left < this.containment[0] || left - this.offset.click.left > this.containment[2]) ? left : (!(left - this.offset.click.left < this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; + } + + } + + return { + top: ( + pageY // The absolute mouse position + - this.offset.click.top // Click offset (relative to the element) + - this.offset.relative.top // Only for relative positioned nodes: Relative offset from element to offset parent + - this.offset.parent.top // The offsetParent's offset without borders (offset + border) + + ($.browser.safari && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) )) + ), + left: ( + pageX // The absolute mouse position + - this.offset.click.left // Click offset (relative to the element) + - this.offset.relative.left // Only for relative positioned nodes: Relative offset from element to offset parent + - this.offset.parent.left // The offsetParent's offset without borders (offset + border) + + ($.browser.safari && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() )) + ) + }; + + }, + + _rearrange: function(event, i, a, hardRefresh) { + + a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction == 'down' ? i.item[0] : i.item[0].nextSibling)); + + //Various things done here to improve the performance: + // 1. we create a setTimeout, that calls refreshPositions + // 2. on the instance, we have a counter variable, that get's higher after every append + // 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same + // 4. this lets only the last addition to the timeout stack through + this.counter = this.counter ? ++this.counter : 1; + var self = this, counter = this.counter; + + window.setTimeout(function() { + if(counter == self.counter) self.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove + },0); + + }, + + _clear: function(event, noPropagation) { + + this.reverting = false; + // We delay all events that have to be triggered to after the point where the placeholder has been removed and + // everything else normalized again + var delayedTriggers = [], self = this; + + // We first have to update the dom position of the actual currentItem + // Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088) + if(!this._noFinalSort && this.currentItem[0].parentNode) this.placeholder.before(this.currentItem); + this._noFinalSort = null; + + if(this.helper[0] == this.currentItem[0]) { + for(var i in this._storedCSS) { + if(this._storedCSS[i] == 'auto' || this._storedCSS[i] == 'static') this._storedCSS[i] = ''; + } + this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); + } else { + this.currentItem.show(); + } + + if(this.fromOutside && !noPropagation) delayedTriggers.push(function(event) { this._trigger("receive", event, this._uiHash(this.fromOutside)); }); + if((this.fromOutside || this.domPosition.prev != this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) && !noPropagation) delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed + if(!$.ui.contains(this.element[0], this.currentItem[0])) { //Node was moved out of the current element + if(!noPropagation) delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); }); + for (var i = this.containers.length - 1; i >= 0; i--){ + if($.ui.contains(this.containers[i].element[0], this.currentItem[0]) && !noPropagation) { + delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); }; }).call(this, this.containers[i])); + delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this)); }; }).call(this, this.containers[i])); + } + }; + }; + + //Post events to containers + for (var i = this.containers.length - 1; i >= 0; i--){ + if(!noPropagation) delayedTriggers.push((function(c) { return function(event) { c._trigger("deactivate", event, this._uiHash(this)); }; }).call(this, this.containers[i])); + if(this.containers[i].containerCache.over) { + delayedTriggers.push((function(c) { return function(event) { c._trigger("out", event, this._uiHash(this)); }; }).call(this, this.containers[i])); + this.containers[i].containerCache.over = 0; + } + } + + //Do what was originally in plugins + if(this._storedCursor) $('body').css("cursor", this._storedCursor); //Reset cursor + if(this._storedOpacity) this.helper.css("opacity", this._storedOpacity); //Reset opacity + if(this._storedZIndex) this.helper.css("zIndex", this._storedZIndex == 'auto' ? '' : this._storedZIndex); //Reset z-index + + this.dragging = false; + if(this.cancelHelperRemoval) { + if(!noPropagation) { + this._trigger("beforeStop", event, this._uiHash()); + for (var i=0; i < delayedTriggers.length; i++) { delayedTriggers[i].call(this, event); }; //Trigger all delayed events + this._trigger("stop", event, this._uiHash()); + } + return false; + } + + if(!noPropagation) this._trigger("beforeStop", event, this._uiHash()); + + //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! + this.placeholder[0].parentNode.removeChild(this.placeholder[0]); + + if(this.helper[0] != this.currentItem[0]) this.helper.remove(); this.helper = null; + + if(!noPropagation) { + for (var i=0; i < delayedTriggers.length; i++) { delayedTriggers[i].call(this, event); }; //Trigger all delayed events + this._trigger("stop", event, this._uiHash()); + } + + this.fromOutside = false; + return true; + + }, + + _trigger: function() { + if ($.Widget.prototype._trigger.apply(this, arguments) === false) { + this.cancel(); + } + }, + + _uiHash: function(inst) { + var self = inst || this; + return { + helper: self.helper, + placeholder: self.placeholder || $([]), + position: self.position, + originalPosition: self.originalPosition, + offset: self.positionAbs, + item: self.currentItem, + sender: inst ? inst.element : null + }; + } + +}); + +$.extend($.ui.sortable, { + version: "1.8.7" +}); + +})(jQuery); diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.tabs.js b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.tabs.js new file mode 100644 index 0000000..7a5d162 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.tabs.js @@ -0,0 +1,758 @@ +/* + * jQuery UI Tabs 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function( $, undefined ) { + +var tabId = 0, + listId = 0; + +function getNextTabId() { + return ++tabId; +} + +function getNextListId() { + return ++listId; +} + +$.widget( "ui.tabs", { + options: { + add: null, + ajaxOptions: null, + cache: false, + cookie: null, // e.g. { expires: 7, path: '/', domain: 'jquery.com', secure: true } + collapsible: false, + disable: null, + disabled: [], + enable: null, + event: "click", + fx: null, // e.g. { height: 'toggle', opacity: 'toggle', duration: 200 } + idPrefix: "ui-tabs-", + load: null, + panelTemplate: "
        ", + remove: null, + select: null, + show: null, + spinner: "Loading…", + tabTemplate: "
      • #{label}
      • " + }, + + _create: function() { + this._tabify( true ); + }, + + _setOption: function( key, value ) { + if ( key == "selected" ) { + if (this.options.collapsible && value == this.options.selected ) { + return; + } + this.select( value ); + } else { + this.options[ key ] = value; + this._tabify(); + } + }, + + _tabId: function( a ) { + return a.title && a.title.replace( /\s/g, "_" ).replace( /[^\w\u00c0-\uFFFF-]/g, "" ) || + this.options.idPrefix + getNextTabId(); + }, + + _sanitizeSelector: function( hash ) { + // we need this because an id may contain a ":" + return hash.replace( /:/g, "\\:" ); + }, + + _cookie: function() { + var cookie = this.cookie || + ( this.cookie = this.options.cookie.name || "ui-tabs-" + getNextListId() ); + return $.cookie.apply( null, [ cookie ].concat( $.makeArray( arguments ) ) ); + }, + + _ui: function( tab, panel ) { + return { + tab: tab, + panel: panel, + index: this.anchors.index( tab ) + }; + }, + + _cleanup: function() { + // restore all former loading tabs labels + this.lis.filter( ".ui-state-processing" ) + .removeClass( "ui-state-processing" ) + .find( "span:data(label.tabs)" ) + .each(function() { + var el = $( this ); + el.html( el.data( "label.tabs" ) ).removeData( "label.tabs" ); + }); + }, + + _tabify: function( init ) { + var self = this, + o = this.options, + fragmentId = /^#.+/; // Safari 2 reports '#' for an empty hash + + this.list = this.element.find( "ol,ul" ).eq( 0 ); + this.lis = $( " > li:has(a[href])", this.list ); + this.anchors = this.lis.map(function() { + return $( "a", this )[ 0 ]; + }); + this.panels = $( [] ); + + this.anchors.each(function( i, a ) { + var href = $( a ).attr( "href" ); + // For dynamically created HTML that contains a hash as href IE < 8 expands + // such href to the full page url with hash and then misinterprets tab as ajax. + // Same consideration applies for an added tab with a fragment identifier + // since a[href=#fragment-identifier] does unexpectedly not match. + // Thus normalize href attribute... + var hrefBase = href.split( "#" )[ 0 ], + baseEl; + if ( hrefBase && ( hrefBase === location.toString().split( "#" )[ 0 ] || + ( baseEl = $( "base" )[ 0 ]) && hrefBase === baseEl.href ) ) { + href = a.hash; + a.href = href; + } + + // inline tab + if ( fragmentId.test( href ) ) { + self.panels = self.panels.add( self.element.find( self._sanitizeSelector( href ) ) ); + // remote tab + // prevent loading the page itself if href is just "#" + } else if ( href && href !== "#" ) { + // required for restore on destroy + $.data( a, "href.tabs", href ); + + // TODO until #3808 is fixed strip fragment identifier from url + // (IE fails to load from such url) + $.data( a, "load.tabs", href.replace( /#.*$/, "" ) ); + + var id = self._tabId( a ); + a.href = "#" + id; + var $panel = self.element.find( "#" + id ); + if ( !$panel.length ) { + $panel = $( o.panelTemplate ) + .attr( "id", id ) + .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) + .insertAfter( self.panels[ i - 1 ] || self.list ); + $panel.data( "destroy.tabs", true ); + } + self.panels = self.panels.add( $panel ); + // invalid tab href + } else { + o.disabled.push( i ); + } + }); + + // initialization from scratch + if ( init ) { + // attach necessary classes for styling + this.element.addClass( "ui-tabs ui-widget ui-widget-content ui-corner-all" ); + this.list.addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ); + this.lis.addClass( "ui-state-default ui-corner-top" ); + this.panels.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" ); + + // Selected tab + // use "selected" option or try to retrieve: + // 1. from fragment identifier in url + // 2. from cookie + // 3. from selected class attribute on
      • + if ( o.selected === undefined ) { + if ( location.hash ) { + this.anchors.each(function( i, a ) { + if ( a.hash == location.hash ) { + o.selected = i; + return false; + } + }); + } + if ( typeof o.selected !== "number" && o.cookie ) { + o.selected = parseInt( self._cookie(), 10 ); + } + if ( typeof o.selected !== "number" && this.lis.filter( ".ui-tabs-selected" ).length ) { + o.selected = this.lis.index( this.lis.filter( ".ui-tabs-selected" ) ); + } + o.selected = o.selected || ( this.lis.length ? 0 : -1 ); + } else if ( o.selected === null ) { // usage of null is deprecated, TODO remove in next release + o.selected = -1; + } + + // sanity check - default to first tab... + o.selected = ( ( o.selected >= 0 && this.anchors[ o.selected ] ) || o.selected < 0 ) + ? o.selected + : 0; + + // Take disabling tabs via class attribute from HTML + // into account and update option properly. + // A selected tab cannot become disabled. + o.disabled = $.unique( o.disabled.concat( + $.map( this.lis.filter( ".ui-state-disabled" ), function( n, i ) { + return self.lis.index( n ); + }) + ) ).sort(); + + if ( $.inArray( o.selected, o.disabled ) != -1 ) { + o.disabled.splice( $.inArray( o.selected, o.disabled ), 1 ); + } + + // highlight selected tab + this.panels.addClass( "ui-tabs-hide" ); + this.lis.removeClass( "ui-tabs-selected ui-state-active" ); + // check for length avoids error when initializing empty list + if ( o.selected >= 0 && this.anchors.length ) { + self.element.find( self._sanitizeSelector( self.anchors[ o.selected ].hash ) ).removeClass( "ui-tabs-hide" ); + this.lis.eq( o.selected ).addClass( "ui-tabs-selected ui-state-active" ); + + // seems to be expected behavior that the show callback is fired + self.element.queue( "tabs", function() { + self._trigger( "show", null, + self._ui( self.anchors[ o.selected ], self.element.find( self._sanitizeSelector( self.anchors[ o.selected ].hash ) ) ) ); + }); + + this.load( o.selected ); + } + + // clean up to avoid memory leaks in certain versions of IE 6 + // TODO: namespace this event + $( window ).bind( "unload", function() { + self.lis.add( self.anchors ).unbind( ".tabs" ); + self.lis = self.anchors = self.panels = null; + }); + // update selected after add/remove + } else { + o.selected = this.lis.index( this.lis.filter( ".ui-tabs-selected" ) ); + } + + // update collapsible + // TODO: use .toggleClass() + this.element[ o.collapsible ? "addClass" : "removeClass" ]( "ui-tabs-collapsible" ); + + // set or update cookie after init and add/remove respectively + if ( o.cookie ) { + this._cookie( o.selected, o.cookie ); + } + + // disable tabs + for ( var i = 0, li; ( li = this.lis[ i ] ); i++ ) { + $( li )[ $.inArray( i, o.disabled ) != -1 && + // TODO: use .toggleClass() + !$( li ).hasClass( "ui-tabs-selected" ) ? "addClass" : "removeClass" ]( "ui-state-disabled" ); + } + + // reset cache if switching from cached to not cached + if ( o.cache === false ) { + this.anchors.removeData( "cache.tabs" ); + } + + // remove all handlers before, tabify may run on existing tabs after add or option change + this.lis.add( this.anchors ).unbind( ".tabs" ); + + if ( o.event !== "mouseover" ) { + var addState = function( state, el ) { + if ( el.is( ":not(.ui-state-disabled)" ) ) { + el.addClass( "ui-state-" + state ); + } + }; + var removeState = function( state, el ) { + el.removeClass( "ui-state-" + state ); + }; + this.lis.bind( "mouseover.tabs" , function() { + addState( "hover", $( this ) ); + }); + this.lis.bind( "mouseout.tabs", function() { + removeState( "hover", $( this ) ); + }); + this.anchors.bind( "focus.tabs", function() { + addState( "focus", $( this ).closest( "li" ) ); + }); + this.anchors.bind( "blur.tabs", function() { + removeState( "focus", $( this ).closest( "li" ) ); + }); + } + + // set up animations + var hideFx, showFx; + if ( o.fx ) { + if ( $.isArray( o.fx ) ) { + hideFx = o.fx[ 0 ]; + showFx = o.fx[ 1 ]; + } else { + hideFx = showFx = o.fx; + } + } + + // Reset certain styles left over from animation + // and prevent IE's ClearType bug... + function resetStyle( $el, fx ) { + $el.css( "display", "" ); + if ( !$.support.opacity && fx.opacity ) { + $el[ 0 ].style.removeAttribute( "filter" ); + } + } + + // Show a tab... + var showTab = showFx + ? function( clicked, $show ) { + $( clicked ).closest( "li" ).addClass( "ui-tabs-selected ui-state-active" ); + $show.hide().removeClass( "ui-tabs-hide" ) // avoid flicker that way + .animate( showFx, showFx.duration || "normal", function() { + resetStyle( $show, showFx ); + self._trigger( "show", null, self._ui( clicked, $show[ 0 ] ) ); + }); + } + : function( clicked, $show ) { + $( clicked ).closest( "li" ).addClass( "ui-tabs-selected ui-state-active" ); + $show.removeClass( "ui-tabs-hide" ); + self._trigger( "show", null, self._ui( clicked, $show[ 0 ] ) ); + }; + + // Hide a tab, $show is optional... + var hideTab = hideFx + ? function( clicked, $hide ) { + $hide.animate( hideFx, hideFx.duration || "normal", function() { + self.lis.removeClass( "ui-tabs-selected ui-state-active" ); + $hide.addClass( "ui-tabs-hide" ); + resetStyle( $hide, hideFx ); + self.element.dequeue( "tabs" ); + }); + } + : function( clicked, $hide, $show ) { + self.lis.removeClass( "ui-tabs-selected ui-state-active" ); + $hide.addClass( "ui-tabs-hide" ); + self.element.dequeue( "tabs" ); + }; + + // attach tab event handler, unbind to avoid duplicates from former tabifying... + this.anchors.bind( o.event + ".tabs", function() { + var el = this, + $li = $(el).closest( "li" ), + $hide = self.panels.filter( ":not(.ui-tabs-hide)" ), + $show = self.element.find( self._sanitizeSelector( el.hash ) ); + + // If tab is already selected and not collapsible or tab disabled or + // or is already loading or click callback returns false stop here. + // Check if click handler returns false last so that it is not executed + // for a disabled or loading tab! + if ( ( $li.hasClass( "ui-tabs-selected" ) && !o.collapsible) || + $li.hasClass( "ui-state-disabled" ) || + $li.hasClass( "ui-state-processing" ) || + self.panels.filter( ":animated" ).length || + self._trigger( "select", null, self._ui( this, $show[ 0 ] ) ) === false ) { + this.blur(); + return false; + } + + o.selected = self.anchors.index( this ); + + self.abort(); + + // if tab may be closed + if ( o.collapsible ) { + if ( $li.hasClass( "ui-tabs-selected" ) ) { + o.selected = -1; + + if ( o.cookie ) { + self._cookie( o.selected, o.cookie ); + } + + self.element.queue( "tabs", function() { + hideTab( el, $hide ); + }).dequeue( "tabs" ); + + this.blur(); + return false; + } else if ( !$hide.length ) { + if ( o.cookie ) { + self._cookie( o.selected, o.cookie ); + } + + self.element.queue( "tabs", function() { + showTab( el, $show ); + }); + + // TODO make passing in node possible, see also http://dev.jqueryui.com/ticket/3171 + self.load( self.anchors.index( this ) ); + + this.blur(); + return false; + } + } + + if ( o.cookie ) { + self._cookie( o.selected, o.cookie ); + } + + // show new tab + if ( $show.length ) { + if ( $hide.length ) { + self.element.queue( "tabs", function() { + hideTab( el, $hide ); + }); + } + self.element.queue( "tabs", function() { + showTab( el, $show ); + }); + + self.load( self.anchors.index( this ) ); + } else { + throw "jQuery UI Tabs: Mismatching fragment identifier."; + } + + // Prevent IE from keeping other link focussed when using the back button + // and remove dotted border from clicked link. This is controlled via CSS + // in modern browsers; blur() removes focus from address bar in Firefox + // which can become a usability and annoying problem with tabs('rotate'). + if ( $.browser.msie ) { + this.blur(); + } + }); + + // disable click in any case + this.anchors.bind( "click.tabs", function(){ + return false; + }); + }, + + _getIndex: function( index ) { + // meta-function to give users option to provide a href string instead of a numerical index. + // also sanitizes numerical indexes to valid values. + if ( typeof index == "string" ) { + index = this.anchors.index( this.anchors.filter( "[href$=" + index + "]" ) ); + } + + return index; + }, + + destroy: function() { + var o = this.options; + + this.abort(); + + this.element + .unbind( ".tabs" ) + .removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" ) + .removeData( "tabs" ); + + this.list.removeClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ); + + this.anchors.each(function() { + var href = $.data( this, "href.tabs" ); + if ( href ) { + this.href = href; + } + var $this = $( this ).unbind( ".tabs" ); + $.each( [ "href", "load", "cache" ], function( i, prefix ) { + $this.removeData( prefix + ".tabs" ); + }); + }); + + this.lis.unbind( ".tabs" ).add( this.panels ).each(function() { + if ( $.data( this, "destroy.tabs" ) ) { + $( this ).remove(); + } else { + $( this ).removeClass([ + "ui-state-default", + "ui-corner-top", + "ui-tabs-selected", + "ui-state-active", + "ui-state-hover", + "ui-state-focus", + "ui-state-disabled", + "ui-tabs-panel", + "ui-widget-content", + "ui-corner-bottom", + "ui-tabs-hide" + ].join( " " ) ); + } + }); + + if ( o.cookie ) { + this._cookie( null, o.cookie ); + } + + return this; + }, + + add: function( url, label, index ) { + if ( index === undefined ) { + index = this.anchors.length; + } + + var self = this, + o = this.options, + $li = $( o.tabTemplate.replace( /#\{href\}/g, url ).replace( /#\{label\}/g, label ) ), + id = !url.indexOf( "#" ) ? url.replace( "#", "" ) : this._tabId( $( "a", $li )[ 0 ] ); + + $li.addClass( "ui-state-default ui-corner-top" ).data( "destroy.tabs", true ); + + // try to find an existing element before creating a new one + var $panel = self.element.find( "#" + id ); + if ( !$panel.length ) { + $panel = $( o.panelTemplate ) + .attr( "id", id ) + .data( "destroy.tabs", true ); + } + $panel.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" ); + + if ( index >= this.lis.length ) { + $li.appendTo( this.list ); + $panel.appendTo( this.list[ 0 ].parentNode ); + } else { + $li.insertBefore( this.lis[ index ] ); + $panel.insertBefore( this.panels[ index ] ); + } + + o.disabled = $.map( o.disabled, function( n, i ) { + return n >= index ? ++n : n; + }); + + this._tabify(); + + if ( this.anchors.length == 1 ) { + o.selected = 0; + $li.addClass( "ui-tabs-selected ui-state-active" ); + $panel.removeClass( "ui-tabs-hide" ); + this.element.queue( "tabs", function() { + self._trigger( "show", null, self._ui( self.anchors[ 0 ], self.panels[ 0 ] ) ); + }); + + this.load( 0 ); + } + + this._trigger( "add", null, this._ui( this.anchors[ index ], this.panels[ index ] ) ); + return this; + }, + + remove: function( index ) { + index = this._getIndex( index ); + var o = this.options, + $li = this.lis.eq( index ).remove(), + $panel = this.panels.eq( index ).remove(); + + // If selected tab was removed focus tab to the right or + // in case the last tab was removed the tab to the left. + if ( $li.hasClass( "ui-tabs-selected" ) && this.anchors.length > 1) { + this.select( index + ( index + 1 < this.anchors.length ? 1 : -1 ) ); + } + + o.disabled = $.map( + $.grep( o.disabled, function(n, i) { + return n != index; + }), + function( n, i ) { + return n >= index ? --n : n; + }); + + this._tabify(); + + this._trigger( "remove", null, this._ui( $li.find( "a" )[ 0 ], $panel[ 0 ] ) ); + return this; + }, + + enable: function( index ) { + index = this._getIndex( index ); + var o = this.options; + if ( $.inArray( index, o.disabled ) == -1 ) { + return; + } + + this.lis.eq( index ).removeClass( "ui-state-disabled" ); + o.disabled = $.grep( o.disabled, function( n, i ) { + return n != index; + }); + + this._trigger( "enable", null, this._ui( this.anchors[ index ], this.panels[ index ] ) ); + return this; + }, + + disable: function( index ) { + index = this._getIndex( index ); + var self = this, o = this.options; + // cannot disable already selected tab + if ( index != o.selected ) { + this.lis.eq( index ).addClass( "ui-state-disabled" ); + + o.disabled.push( index ); + o.disabled.sort(); + + this._trigger( "disable", null, this._ui( this.anchors[ index ], this.panels[ index ] ) ); + } + + return this; + }, + + select: function( index ) { + index = this._getIndex( index ); + if ( index == -1 ) { + if ( this.options.collapsible && this.options.selected != -1 ) { + index = this.options.selected; + } else { + return this; + } + } + this.anchors.eq( index ).trigger( this.options.event + ".tabs" ); + return this; + }, + + load: function( index ) { + index = this._getIndex( index ); + var self = this, + o = this.options, + a = this.anchors.eq( index )[ 0 ], + url = $.data( a, "load.tabs" ); + + this.abort(); + + // not remote or from cache + if ( !url || this.element.queue( "tabs" ).length !== 0 && $.data( a, "cache.tabs" ) ) { + this.element.dequeue( "tabs" ); + return; + } + + // load remote from here on + this.lis.eq( index ).addClass( "ui-state-processing" ); + + if ( o.spinner ) { + var span = $( "span", a ); + span.data( "label.tabs", span.html() ).html( o.spinner ); + } + + this.xhr = $.ajax( $.extend( {}, o.ajaxOptions, { + url: url, + success: function( r, s ) { + self.element.find( self._sanitizeSelector( a.hash ) ).html( r ); + + // take care of tab labels + self._cleanup(); + + if ( o.cache ) { + $.data( a, "cache.tabs", true ); + } + + self._trigger( "load", null, self._ui( self.anchors[ index ], self.panels[ index ] ) ); + try { + o.ajaxOptions.success( r, s ); + } + catch ( e ) {} + }, + error: function( xhr, s, e ) { + // take care of tab labels + self._cleanup(); + + self._trigger( "load", null, self._ui( self.anchors[ index ], self.panels[ index ] ) ); + try { + // Passing index avoid a race condition when this method is + // called after the user has selected another tab. + // Pass the anchor that initiated this request allows + // loadError to manipulate the tab content panel via $(a.hash) + o.ajaxOptions.error( xhr, s, index, a ); + } + catch ( e ) {} + } + } ) ); + + // last, so that load event is fired before show... + self.element.dequeue( "tabs" ); + + return this; + }, + + abort: function() { + // stop possibly running animations + this.element.queue( [] ); + this.panels.stop( false, true ); + + // "tabs" queue must not contain more than two elements, + // which are the callbacks for the latest clicked tab... + this.element.queue( "tabs", this.element.queue( "tabs" ).splice( -2, 2 ) ); + + // terminate pending requests from other tabs + if ( this.xhr ) { + this.xhr.abort(); + delete this.xhr; + } + + // take care of tab labels + this._cleanup(); + return this; + }, + + url: function( index, url ) { + this.anchors.eq( index ).removeData( "cache.tabs" ).data( "load.tabs", url ); + return this; + }, + + length: function() { + return this.anchors.length; + } +}); + +$.extend( $.ui.tabs, { + version: "1.8.7" +}); + +/* + * Tabs Extensions + */ + +/* + * Rotate + */ +$.extend( $.ui.tabs.prototype, { + rotation: null, + rotate: function( ms, continuing ) { + var self = this, + o = this.options; + + var rotate = self._rotate || ( self._rotate = function( e ) { + clearTimeout( self.rotation ); + self.rotation = setTimeout(function() { + var t = o.selected; + self.select( ++t < self.anchors.length ? t : 0 ); + }, ms ); + + if ( e ) { + e.stopPropagation(); + } + }); + + var stop = self._unrotate || ( self._unrotate = !continuing + ? function(e) { + if (e.clientX) { // in case of a true click + self.rotate(null); + } + } + : function( e ) { + t = o.selected; + rotate(); + }); + + // start rotation + if ( ms ) { + this.element.bind( "tabsshow", rotate ); + this.anchors.bind( o.event + ".tabs", stop ); + rotate(); + // stop rotation + } else { + clearTimeout( self.rotation ); + this.element.unbind( "tabsshow", rotate ); + this.anchors.unbind( o.event + ".tabs", stop ); + delete this._rotate; + delete this._unrotate; + } + + return this; + } +}); + +})( jQuery ); diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.widget.js b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.widget.js new file mode 100644 index 0000000..a19e82a --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/js/jquery.ui.widget.js @@ -0,0 +1,262 @@ +/*! + * jQuery UI Widget 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function( $, undefined ) { + +// jQuery 1.4+ +if ( $.cleanData ) { + var _cleanData = $.cleanData; + $.cleanData = function( elems ) { + for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { + $( elem ).triggerHandler( "remove" ); + } + _cleanData( elems ); + }; +} else { + var _remove = $.fn.remove; + $.fn.remove = function( selector, keepData ) { + return this.each(function() { + if ( !keepData ) { + if ( !selector || $.filter( selector, [ this ] ).length ) { + $( "*", this ).add( [ this ] ).each(function() { + $( this ).triggerHandler( "remove" ); + }); + } + } + return _remove.call( $(this), selector, keepData ); + }); + }; +} + +$.widget = function( name, base, prototype ) { + var namespace = name.split( "." )[ 0 ], + fullName; + name = name.split( "." )[ 1 ]; + fullName = namespace + "-" + name; + + if ( !prototype ) { + prototype = base; + base = $.Widget; + } + + // create selector for plugin + $.expr[ ":" ][ fullName ] = function( elem ) { + return !!$.data( elem, name ); + }; + + $[ namespace ] = $[ namespace ] || {}; + $[ namespace ][ name ] = function( options, element ) { + // allow instantiation without initializing for simple inheritance + if ( arguments.length ) { + this._createWidget( options, element ); + } + }; + + var basePrototype = new base(); + // we need to make the options hash a property directly on the new instance + // otherwise we'll modify the options hash on the prototype that we're + // inheriting from +// $.each( basePrototype, function( key, val ) { +// if ( $.isPlainObject(val) ) { +// basePrototype[ key ] = $.extend( {}, val ); +// } +// }); + basePrototype.options = $.extend( true, {}, basePrototype.options ); + $[ namespace ][ name ].prototype = $.extend( true, basePrototype, { + namespace: namespace, + widgetName: name, + widgetEventPrefix: $[ namespace ][ name ].prototype.widgetEventPrefix || name, + widgetBaseClass: fullName + }, prototype ); + + $.widget.bridge( name, $[ namespace ][ name ] ); +}; + +$.widget.bridge = function( name, object ) { + $.fn[ name ] = function( options ) { + var isMethodCall = typeof options === "string", + args = Array.prototype.slice.call( arguments, 1 ), + returnValue = this; + + // allow multiple hashes to be passed on init + options = !isMethodCall && args.length ? + $.extend.apply( null, [ true, options ].concat(args) ) : + options; + + // prevent calls to internal methods + if ( isMethodCall && options.charAt( 0 ) === "_" ) { + return returnValue; + } + + if ( isMethodCall ) { + this.each(function() { + var instance = $.data( this, name ), + methodValue = instance && $.isFunction( instance[options] ) ? + instance[ options ].apply( instance, args ) : + instance; + // TODO: add this back in 1.9 and use $.error() (see #5972) +// if ( !instance ) { +// throw "cannot call methods on " + name + " prior to initialization; " + +// "attempted to call method '" + options + "'"; +// } +// if ( !$.isFunction( instance[options] ) ) { +// throw "no such method '" + options + "' for " + name + " widget instance"; +// } +// var methodValue = instance[ options ].apply( instance, args ); + if ( methodValue !== instance && methodValue !== undefined ) { + returnValue = methodValue; + return false; + } + }); + } else { + this.each(function() { + var instance = $.data( this, name ); + if ( instance ) { + instance.option( options || {} )._init(); + } else { + $.data( this, name, new object( options, this ) ); + } + }); + } + + return returnValue; + }; +}; + +$.Widget = function( options, element ) { + // allow instantiation without initializing for simple inheritance + if ( arguments.length ) { + this._createWidget( options, element ); + } +}; + +$.Widget.prototype = { + widgetName: "widget", + widgetEventPrefix: "", + options: { + disabled: false + }, + _createWidget: function( options, element ) { + // $.widget.bridge stores the plugin instance, but we do it anyway + // so that it's stored even before the _create function runs + $.data( element, this.widgetName, this ); + this.element = $( element ); + this.options = $.extend( true, {}, + this.options, + this._getCreateOptions(), + options ); + + var self = this; + this.element.bind( "remove." + this.widgetName, function() { + self.destroy(); + }); + + this._create(); + this._trigger( "create" ); + this._init(); + }, + _getCreateOptions: function() { + return $.metadata && $.metadata.get( this.element[0] )[ this.widgetName ]; + }, + _create: function() {}, + _init: function() {}, + + destroy: function() { + this.element + .unbind( "." + this.widgetName ) + .removeData( this.widgetName ); + this.widget() + .unbind( "." + this.widgetName ) + .removeAttr( "aria-disabled" ) + .removeClass( + this.widgetBaseClass + "-disabled " + + "ui-state-disabled" ); + }, + + widget: function() { + return this.element; + }, + + option: function( key, value ) { + var options = key; + + if ( arguments.length === 0 ) { + // don't return a reference to the internal hash + return $.extend( {}, this.options ); + } + + if (typeof key === "string" ) { + if ( value === undefined ) { + return this.options[ key ]; + } + options = {}; + options[ key ] = value; + } + + this._setOptions( options ); + + return this; + }, + _setOptions: function( options ) { + var self = this; + $.each( options, function( key, value ) { + self._setOption( key, value ); + }); + + return this; + }, + _setOption: function( key, value ) { + this.options[ key ] = value; + + if ( key === "disabled" ) { + this.widget() + [ value ? "addClass" : "removeClass"]( + this.widgetBaseClass + "-disabled" + " " + + "ui-state-disabled" ) + .attr( "aria-disabled", value ); + } + + return this; + }, + + enable: function() { + return this._setOption( "disabled", false ); + }, + disable: function() { + return this._setOption( "disabled", true ); + }, + + _trigger: function( type, event, data ) { + var callback = this.options[ type ]; + + event = $.Event( event ); + event.type = ( type === this.widgetEventPrefix ? + type : + this.widgetEventPrefix + type ).toLowerCase(); + data = data || {}; + + // copy original event properties over to the new event + // this would happen if we could call $.event.fix instead of $.Event + // but we don't have a way to force an event to be fixed multiple times + if ( event.originalEvent ) { + for ( var i = $.event.props.length, prop; i; ) { + prop = $.event.props[ --i ]; + event[ prop ] = event.originalEvent[ prop ]; + } + } + + this.element.trigger( event, data ); + + return !( $.isFunction(callback) && + callback.call( this.element[0], event, data ) === false || + event.isDefaultPrevented() ); + } +}; + +})( jQuery ); diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/option_panel/ajax.php b/src/wp-content/plugins/sticky_menu/hades_framework/option_panel/ajax.php new file mode 100644 index 0000000..639a5fb --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/option_panel/ajax.php @@ -0,0 +1,22 @@ +

        Theme Settings Saved !

        '.$pluginname.' settings reset.

      • '; + +?> + +
        +
        +
        + + + " id="option_path" /> +
        +
        +

        Option Panel Version : 5.0

        +
        +
        + + +
        +
        + +
        + + +
        + + " /> + + + + +
        + +
        + + " /> + Upload Image + + +
        + + +
        + +
        #
        " /> + + + + + +
        + +
        + +
        + " /> + " /> + + "class='slider-text' />
        + + + +
        + +
        + + + + + +
        + +
        + +
        + +
        + + + +
        + +
        + + + /> + + + +
        + +
        + +
        + +
        + + + + + + + +
        + value="true" /> + value="false"/> +
        + + + + + + + +
        + +
        + + + +
        "; + $description = "

        ".__($value["description"], 'h-framework')."

        "; ?> + + '.__($value['name'], 'h-framework').'
        '; + echo "
        "; + ?> + + + + + + + + + "; break; + } + } +?> + + + +
        + + +
        + + +
        + +
        + +
        + + + + \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/hades_framework/option_panel/options.php b/src/wp-content/plugins/sticky_menu/hades_framework/option_panel/options.php new file mode 100644 index 0000000..2448d34 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/hades_framework/option_panel/options.php @@ -0,0 +1,108 @@ + "Menu", + "type" => "section" + ), + + array( + "name" => $themename." Options", + "type" => "information", + "description" => "In this option panel your able to change the basic setting of Ambience. Just follow the info besides the functions and you will be ready in a snap." + ), + + array( "type" => "open"), + + // ======================================Sub Panel 1 Begins ====================================== + + array( + "name" => "→ Menu Settings" , + "type"=>"subtitle", + "id"=>"colorschemes" + ), + + + + array( + "name" => "Styles", + "desc" => "", + "id" => $shortname."_style", + "type" => "select", + "options" => array("style1","style2","style3","style4","style5","style6","style7","style8"), + "std" => "style5" + ), + + array( + "name" => "Alignment", + "desc" => "", + "id" => $shortname."_align", + "type" => "select", + "options" => array("bottom","top"), + "std" => "bottom" + ), + + + array( + "name" => "Width", + "desc" => "", + "id" => $shortname."_width", + "type" => "select", + "options" => array("980px","Full"), + "std" => "Defined" + ), + + + + + + array( + "name" => "Animate In effect", + "desc" => "", + "id" => $shortname."_fadein_effect", + "type" => "select", + "options" => array("fade","slide",'show','showanimate'), + "std" => "bottom" + ), + + array( + "name" => "Animate Out effect", + "desc" => "", + "id" => $shortname."_fadeout_effect", + "type" => "select", + "options" => array("fade","slide",'hide','hideanimate'), + "std" => "bottom" + ), + + + + array("type"=>"close_subtitle"), + + + + // ================================ End of Sub panel ============================================== + array( "type" => "close"), + + + + + +); + diff --git a/src/wp-content/plugins/sticky_menu/init.php b/src/wp-content/plugins/sticky_menu/init.php new file mode 100644 index 0000000..79fc86d --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/init.php @@ -0,0 +1,34 @@ + +"; + if(function_exists("wp_nav_menu")) + { + wp_nav_menu(array( + 'theme_location'=>'sticky_menu', + 'container'=>'', + 'depth' => 3, + 'menu_id' => 'sticky_menu', + 'walker' => new Sticky_Menu_Frontend() ) + ); + } + + echo "
        "; +} + +add_action("wp_footer","add_stickymenu"); + + +?> \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/style1-bg-hover.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/style1-bg-hover.png new file mode 100644 index 0000000..16734ad Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/style1-bg-hover.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/style1-bg.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/style1-bg.png new file mode 100644 index 0000000..42106d1 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/style1-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/style2-bg-hover.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/style2-bg-hover.png new file mode 100644 index 0000000..9c6ca53 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/style2-bg-hover.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/style2-bg.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/style2-bg.png new file mode 100644 index 0000000..240479a Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/style2-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/style3-bg-hover.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/style3-bg-hover.png new file mode 100644 index 0000000..96d8adc Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/style3-bg-hover.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/style3-bg.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/style3-bg.png new file mode 100644 index 0000000..a4ad53e Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/style3-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/style4-bg.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/style4-bg.png new file mode 100644 index 0000000..58c97dd Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/style4-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/style5-bg.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/style5-bg.png new file mode 100644 index 0000000..4e65156 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/style5-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/style6-bg.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/style6-bg.png new file mode 100644 index 0000000..98b1132 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/style6-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/style7-bg.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/style7-bg.png new file mode 100644 index 0000000..6fb1c80 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/style7-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/style8-bg.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/style8-bg.png new file mode 100644 index 0000000..400709e Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/style8-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg-d.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg-d.png new file mode 100644 index 0000000..29d121d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg-d.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg-r.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg-r.png new file mode 100644 index 0000000..86b4f54 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg-r.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg-t.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg-t.png new file mode 100644 index 0000000..6d48bad Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg-t.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg-w.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg-w.png new file mode 100644 index 0000000..78892df Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg-w.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg.png b/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg.png new file mode 100644 index 0000000..f85a51f Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sprites/css/i/sub-menu-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sprites/css/sticky_menu.css b/src/wp-content/plugins/sticky_menu/sprites/css/sticky_menu.css new file mode 100644 index 0000000..cef0ad9 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sprites/css/sticky_menu.css @@ -0,0 +1,1094 @@ +/* CSS Document */ + +.clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} +.clearfix { + display: inline-block; + *zoom: 1; +} +* html .clearfix { height: 1% } /* ===[ Hides from IE-mac \ ]=== */ +.clearfix { display: block } +.sticky_menu_980px #sticky_menu { + left: 50%; + margin: 0 0 0 -490px!important; + width: 980px!important; +} +.sticky_menu_Full #sticky_menu { + left: 0; + margin: 0!important; + width: 100%; +} +.sticky_menu_bottom #sticky_menu { bottom: -1px } +.sticky_menu_bottom #sticky_menu>li>ul.sub-menu { + position: absolute; + z-index: 9; + bottom: 38px; + left: -1px; + display: none; +} +.sticky_menu_bottom #sticky_menu>li>ul.sub-menu ul { + position: absolute; + z-index: 9; + top: -5px!important; + left: 170px; + display: block; + width: 180px; + display: none; +} +.sticky_menu_bottom #sticky_menu div.sub-menu { + position: absolute; + z-index: 9; + bottom: 38px; + left: -1px; + display: block; + display: none; + margin: 0!important; +} +.sticky_menu_top #sticky_menu { top: -1px } +.sticky_menu_top #sticky_menu>li>ul.sub-menu { + position: absolute; + z-index: 9; + top: 40px; + left: 0px; + display: none; +} +.sticky_menu_top #sticky_menu>li>ul.sub-menu ul { + position: absolute; + z-index: 9; + top: -5px!important; + left: 170px; + display: block; + width: 180px; + display: none; +} +.sticky_menu_top #sticky_menu div.sub-menu { + position: absolute; + z-index: 9; + top: 40px; + left: 0; + display: block; + display: none; + margin: 0!important; +} +#sticky_menu { + position: fixed; + list-style: none!important; + padding: 0!important; + z-index: 9999; + font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif; +} +#sticky_menu li { + float: left; + padding: 0!important; + margin: 0!important; +} +#sticky_menu li a { + padding: 10px 20px; + display: block; + margin: 0; + text-decoration: none; +} +#sticky_menu>li:first-child { } +#sticky_menu li:first-child a { } +#sticky_menu ul.sub-menu li a { } +#sticky_menu ul.sub-menu li a:hover { } +#sticky_menu li a span { + display: block; + padding: 1px 5px 1px 0px!important; +} +#sticky_menu li.rel { position: relative } +#sticky_menu>li.showdropdown { } +#sticky_menu li:hover { } +#sticky_menu li:hover a { } +#sticky_menu li:hover span { } +#sticky_menu div.sub-menu>div>h6 { + padding: 16px 5px 8px 5px!important; + display: block; +} +#sticky_menu div.sub-menu>div { + float: left; + width: 175px; + margin: 10px; +} +#sticky_menu div.sub-menu>div a { } +#sticky_menu div.sub-menu>div a:hover { } +#sticky_menu .sub-menu li { + float: none!important; + display: block; + width: 207px; + margin: 0!important; + padding: 0!important; + height: 32px; +} +#sticky_menu .sub-menu li a { + display: block; + margin: 0!important; + padding: 11px 5px 0px 18px!important; +} +#sticky_menu .sub-menu li a:hover { text-decoration: underline } +#sticky_menu .sub-menu li .sub-menu { + left: 191px; + top: 0px; +} +#sticky_menu .sub-menu li .sub-menu li:first-child { } +.tooltip { + width: 32px; + height: 12px; + position: absolute; + z-index: 3; + top: -12px; + left: 40px; +} +.stickymenu-textbox { + margin-top: 8px; + padding: 3px; +} +.stickymenu-textbox p { + padding: 5px 0; + margin: 0; +} +.stickymenu-textbox a { border: none!important } +.stickymenu-textbox img { border: none!important } + + +/* ========== Sticky Menu Stylings ||| Style 1 ========== */ + + +.sticky_menu_style1 #sticky_menu { + background: #35383a url(i/style1-bg.png) repeat-x; + border: 1px solid #121314; +} +.sticky_menu_style1 #sticky_menu li { border-right: 1px solid #0e0f10 } +.sticky_menu_style1 #sticky_menu li a { + border-left: 1px solid #2f3438; + color: #fff; +} +.sticky_menu_style1 #sticky_menu li a:hover { + border-right: 1px solid #0e0f10; + color: #999; +} +.sticky_menu_style1 #sticky_menu>li:first-child { border-left: none } +.sticky_menu_style1 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style1 #sticky_menu>li>ul.sub-menu { + background: #35383a; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #000; + margin: 0; + opacity: 0.95; +} +.sticky_menu_style1 #sticky_menu>li>ul.sub-menu ul { + background: #35383a; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + opacity: 0.95; +} +.sticky_menu_style1 #sticky_menu ul.sub-menu li a { color: #fff } +.sticky_menu_style1 #sticky_menu ul.sub-menu li a:hover { } +.sticky_menu_style1 #sticky_menu li a span { color: #999 } +.sticky_menu_style1 #sticky_menu>li.showdropdown { background: url(sprites/i/degree.png) 100% 0% no-repeat #f8f8f8 } +.sticky_menu_style1 #sticky_menu li:hover { + background: #35383a url(i/style1-bg-hover.png) repeat-x; + border-right: none; +} +.sticky_menu_style1 #sticky_menu li:hover a { + color: #fff; + border-right: 1px solid #0e0f10; +} +.sticky_menu_style1 #sticky_menu li:hover span { color: #fff } +.sticky_menu_style1 #sticky_menu div.sub-menu { + background: #35383a; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #000; + opacity: 0.95; +} +.sticky_menu_style1 #sticky_menu div.sub-menu>div>h6 { + color: #fff; + font-size: 16px; + font-weight: 700; + letter-spacing: -1px; + border-bottom: 1px dotted #bbb!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style1 #sticky_menu div.sub-menu>div { } +.sticky_menu_style1 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style1 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #bbb; + text-decoration: underline; +} +.sticky_menu_style1 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style1 #sticky_menu .sub-menu li a { + border: none!important; + color: #fff; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style1 #sticky_menu .sub-menu li a:hover { + border: none; + color: #bbb; + text-decoration: underline; +} +.sticky_menu_style1 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style1 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style1 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style1 .stickymenu-textbox { + font-size: 11px; + color: #fff; +} +.sticky_menu_style1 .stickymenu-textbox p { } + + +/* ========== Sticky Menu Stylings ||| Style 2 ========== */ + + +.sticky_menu_style2 #sticky_menu { + background: #35383a url(i/style2-bg.png) repeat-x; + border: 1px solid #ccc; +} +.sticky_menu_style2 #sticky_menu li { border-right: 1px solid #ccc } +.sticky_menu_style2 #sticky_menu li a { + border-left: 1px solid #fff; + color: #222; +} +.sticky_menu_style2 #sticky_menu li a:hover { + border-right: 1px solid #ccc; + color: #999; +} +.sticky_menu_style2 #sticky_menu>li:last-child a { border-right: none } +.sticky_menu_style2 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style2 #sticky_menu>li>ul.sub-menu { + background: #fff; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; + border: 1px solid #aaa; + margin: 0; + opacity: 0.95; +} +.sticky_menu_style2 #sticky_menu>li>ul.sub-menu ul { + background: #fff; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; + opacity: 0.95; +} +.sticky_menu_style2 #sticky_menu ul.sub-menu li a { color: #111 } +.sticky_menu_style2 #sticky_menu ul.sub-menu li a:hover { color: #666 } +.sticky_menu_style2 #sticky_menu li a span { color: #999 } +.sticky_menu_style2 #sticky_menu>li.showdropdown { background: url(sprites/i/degree.png) 100% 0% no-repeat #f8f8f8 } +.sticky_menu_style2 #sticky_menu li:hover { + background: #35383a url(i/style2-bg-hover.png) repeat-x; + border-right: none; +} +.sticky_menu_style2 #sticky_menu li:hover a { + color: #111; + border-right: 1px solid #ccc; +} +.sticky_menu_style2 #sticky_menu li:hover span { color: #fff } +.sticky_menu_style2 #sticky_menu div.sub-menu { + background: #fff; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px #aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; + border: 1px solid #aaa; + opacity: 0.95; +} +.sticky_menu_style2 #sticky_menu div.sub-menu>div>h6 { + color: #111; + font-size: 16px; + font-weight: 700; + letter-spacing: -1px; + border-bottom: 1px dotted #bbb!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style2 #sticky_menu div.sub-menu>div { } +.sticky_menu_style2 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style2 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #666; + text-decoration: underline; +} +.sticky_menu_style2 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style2 #sticky_menu .sub-menu li a { + border: none!important; + color: #111; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style2 #sticky_menu .sub-menu li a:hover { + border: none; + color: #666; + text-decoration: underline; +} +.sticky_menu_style2 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style2 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style2 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style2 .stickymenu-textbox { + font-size: 11px; + color: #111; +} +.sticky_menu_style2 .stickymenu-textbox p { } + + +/* ========== Sticky Menu Stylings ||| Style 3 ========== */ + + +.sticky_menu_style3 #sticky_menu { + background: #3c8fda url(i/style3-bg.png) repeat-x; + border: 1px solid #39618a; +} +.sticky_menu_style3 #sticky_menu li { border-right: 1px solid #8fbfee } +.sticky_menu_style3 #sticky_menu li a { + border-left: 1px solid #39618a; + color: #fff; +} +.sticky_menu_style3 #sticky_menu li a:hover { + border-right: 1px solid #8fbfee; + color: #fff; +} +.sticky_menu_style3 #sticky_menu>li:last-child a { border-right: none } +.sticky_menu_style3 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style3 #sticky_menu>li>ul.sub-menu { + background: #4f80bd; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #27466d; + box-shadow: 0px 0px 3px #27466d; + -webkit-box-shadow: 0px 0px 3px #27466d; + border: 1px solid #27466d; + margin: 0; + opacity: 0.95; +} +.sticky_menu_style3 #sticky_menu>li>ul.sub-menu ul { + background: #4f80bd; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #27466d; + box-shadow: 0px 0px 3px #27466d; + -webkit-box-shadow: 0px 0px 3px #27466d; + opacity: 0.95; +} +.sticky_menu_style3 #sticky_menu ul.sub-menu li a { color: #fff } +.sticky_menu_style3 #sticky_menu ul.sub-menu li a:hover { color: #111 } +.sticky_menu_style3 #sticky_menu li a span { color: #111 } +.sticky_menu_style3 #sticky_menu>li.showdropdown { background: url(sprites/i/degree.png) 100% 0% no-repeat #f8f8f8 } +.sticky_menu_style3 #sticky_menu li:hover { + background: #3c8fda url(i/style3-bg-hover.png) repeat-x; + border-right: none; +} +.sticky_menu_style3 #sticky_menu li:hover a { + color: #fff; + border-right: 1px solid #8fbfee; + text-decoration: underline; +} +.sticky_menu_style3 #sticky_menu li:hover span { color: #fff } +.sticky_menu_style3 #sticky_menu div.sub-menu { + background: #4f80bd; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px #27466d; + box-shadow: 0px 0px 3px #27466d; + -webkit-box-shadow: 0px 0px 3px #27466d; + border: 1px solid #27466d; + opacity: 0.95; +} +.sticky_menu_style3 #sticky_menu div.sub-menu>div>h6 { + color: #fff; + font-size: 16px; + font-weight: 700; + letter-spacing: -1px; + border-bottom: 1px dotted #bbb!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style3 #sticky_menu div.sub-menu>div { } +.sticky_menu_style3 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style3 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #111; + text-decoration: underline; +} +.sticky_menu_style3 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style3 #sticky_menu .sub-menu li a { + border: none!important; + color: #111; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style3 #sticky_menu .sub-menu li a:hover { + border: none; + color: #111; + text-decoration: underline; +} +.sticky_menu_style3 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style3 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style3 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style3 .stickymenu-textbox { + font-size: 11px; + color: #fff; +} +.sticky_menu_style3 .stickymenu-textbox p { } + + +/* ========== Sticky Menu Stylings ||| Style 4 ========== */ + + +.sticky_menu_style4 #sticky_menu { + background: #3c8fda url(i/style4-bg.png) repeat-x; + border: 1px solid #2a6ba6; +} +.sticky_menu_style4 #sticky_menu li { + border: 1px solid #2a6ba6; + border-left: none; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style4 #sticky_menu li a { + border: 1px solid #6eb1e2; + color: #fff; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style4 #sticky_menu>li:first-child { } +.sticky_menu_style4 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style4 #sticky_menu>li>ul.sub-menu { + background: #fff url(i/sub-menu-bg.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; + border: 1px solid #fff; + margin: 0; +} +.sticky_menu_style4 #sticky_menu>li>ul.sub-menu ul { + background: #fff url(i/sub-menu-bg.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; +} +.sticky_menu_style4 #sticky_menu ul.sub-menu li a { color: #333 } +.sticky_menu_style4 #sticky_menu ul.sub-menu li a:hover { color: #3c8fda } +.sticky_menu_style4 #sticky_menu li a span { color: #777 } +.sticky_menu_style4 #sticky_menu>li.showdropdown { } +.sticky_menu_style4 #sticky_menu li:hover { background: #3797ed } +.sticky_menu_style4 #sticky_menu li:hover a { color: #333 } +.sticky_menu_style4 #sticky_menu li:hover span { color: #3c8fda } +.sticky_menu_style4 #sticky_menu div.sub-menu { + background: #fff url(i/sub-menu-bg.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; + border: 1px solid #fff; +} +.sticky_menu_style4 #sticky_menu div.sub-menu>div>h6 { + color: #333; + font-size: 16px; + border-bottom: 1px dotted #333!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style4 #sticky_menu div.sub-menu>div { } +.sticky_menu_style4 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style4 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #3c8fda; + text-decoration: underline; +} +.sticky_menu_style4 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style4 #sticky_menu .sub-menu li a { + border: none!important; + color: #333; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style4 #sticky_menu .sub-menu li a:hover { + border: none; + color: #3c8fda; + text-decoration: underline; +} +.sticky_menu_style4 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style4 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style4 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style4 .stickymenu-textbox { + font-size: 11px; + color: #333; +} +.sticky_menu_style4 .stickymenu-textbox p { } + + +/* ========== Sticky Menu Stylings ||| Style 5 ========== */ + +.sticky_menu_style5 #sticky_menu { + background: #35383a url(i/style5-bg.png) repeat-x; + border: 1px solid #000; +} +.sticky_menu_style5 #sticky_menu li { + border: 1px solid #000; + border-left: none; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style5 #sticky_menu li a { + border: 1px solid #4a4a4a; + color: #fff; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style5 #sticky_menu>li:first-child { } +.sticky_menu_style5 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style5 #sticky_menu>li>ul.sub-menu { + background: #fff url(i/sub-menu-bg-d.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #000; + margin: 0; +} +.sticky_menu_style5 #sticky_menu>li>ul.sub-menu ul { + background: #fff url(i/sub-menu-bg-d.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; +} +.sticky_menu_style5 #sticky_menu ul.sub-menu li a { color: #fff } +.sticky_menu_style5 #sticky_menu ul.sub-menu li a:hover { color: #aaa } +.sticky_menu_style5 #sticky_menu li a span { color: #777 } +.sticky_menu_style5 #sticky_menu>li.showdropdown { } +.sticky_menu_style5 #sticky_menu li:hover { background: #222 } +.sticky_menu_style5 #sticky_menu li:hover a { color: #fff } +.sticky_menu_style5 #sticky_menu li:hover span { color: #aaa } +.sticky_menu_style5 #sticky_menu div.sub-menu { + background: #fff url(i/sub-menu-bg-d.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px 000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #000; +} +.sticky_menu_style5 #sticky_menu div.sub-menu>div>h6 { + color: #fff; + font-size: 16px; + border-bottom: 1px dotted #aaa!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style5 #sticky_menu div.sub-menu>div { } +.sticky_menu_style5 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style5 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #aaa; + text-decoration: underline; +} +.sticky_menu_style5 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style5 #sticky_menu .sub-menu li a { + border: none!important; + color: #aaa; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style5 #sticky_menu .sub-menu li a:hover { + border: none; + color: #aaa; + text-decoration: underline; +} +.sticky_menu_style5 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style5 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style5 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style5 .stickymenu-textbox { + font-size: 11px; + color: #fff; +} +.sticky_menu_style5 .stickymenu-textbox p { } + + +/* ========== Sticky Menu Stylings ||| Style 6 ========== */ + + +.sticky_menu_style6 #sticky_menu { + background: url(i/style6-bg.png) repeat-x; + border: 1px solid #000; + text-shadow: 1px 1px 0px #333; +} +.sticky_menu_style6 #sticky_menu li { + border: 1px solid #000; + border-left: none; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style6 #sticky_menu li a { + color: #fff; + border: none!important; +} +.sticky_menu_style6 #sticky_menu>li:first-child { } +.sticky_menu_style6 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style6 #sticky_menu>li>ul.sub-menu { + background: url(i/sub-menu-bg-t.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #000; + margin: 0; +} +.sticky_menu_style6 #sticky_menu>li>ul.sub-menu ul { + background: url(i/sub-menu-bg-t.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; +} +.sticky_menu_style6 #sticky_menu ul.sub-menu li a { color: #fff } +.sticky_menu_style6 #sticky_menu ul.sub-menu li a:hover { color: #aaa } +.sticky_menu_style6 #sticky_menu li a span { color: #777 } +.sticky_menu_style6 #sticky_menu>li.showdropdown { } +.sticky_menu_style6 #sticky_menu li:hover { background: #333 } +.sticky_menu_style6 #sticky_menu li:hover a { color: #fff } +.sticky_menu_style6 #sticky_menu li:hover span { color: #aaa } +.sticky_menu_style6 #sticky_menu div.sub-menu { + background: url(i/sub-menu-bg-t.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px 000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #000; +} +.sticky_menu_style6 #sticky_menu div.sub-menu>div>h6 { + color: #fff; + font-size: 16px; + border-bottom: 1px dotted #aaa!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style6 #sticky_menu div.sub-menu>div { } +.sticky_menu_style6 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style6 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #aaa; + text-decoration: underline; +} +.sticky_menu_style6 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style6 #sticky_menu .sub-menu li a { + border: none!important; + color: #aaa; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style6 #sticky_menu .sub-menu li a:hover { + border: none; + color: #aaa; + text-decoration: underline; +} +.sticky_menu_style6 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style6 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style6 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style6 .stickymenu-textbox { + font-size: 11px; + color: #fff; +} +.sticky_menu_style6 .stickymenu-textbox p { } + + +/* ========== Sticky Menu Stylings ||| Style 7 ========== */ + + +.sticky_menu_style7 #sticky_menu { + background: #670b0b url(i/style7-bg.png) repeat-x; + border: 1px solid #670b0b; + text-shadow: 1px 1px 0px #333; +} +.sticky_menu_style7 #sticky_menu li { + border: 1px solid #922121; + border-left: none; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style7 #sticky_menu li a { + border: 1px solid #cb3c3c; + color: #fff; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style7 #sticky_menu>li:first-child { } +.sticky_menu_style7 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style7 #sticky_menu>li>ul.sub-menu { + background: #fff url(i/sub-menu-bg-r.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #9e2020; + margin: 0; +} +.sticky_menu_style7 #sticky_menu>li>ul.sub-menu ul { + background: #fff url(i/sub-menu-bg-r.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; +} +.sticky_menu_style7 #sticky_menu ul.sub-menu li a { color: #fff } +.sticky_menu_style7 #sticky_menu ul.sub-menu li a:hover { color: #111 } +.sticky_menu_style7 #sticky_menu li a span { color: #111 } +.sticky_menu_style7 #sticky_menu>li.showdropdown { } +.sticky_menu_style7 #sticky_menu li:hover { background: #be0606 } +.sticky_menu_style7 #sticky_menu li:hover a { color: #fff } +.sticky_menu_style7 #sticky_menu li:hover span { color: #111 } +.sticky_menu_style7 #sticky_menu div.sub-menu { + background: #fff url(i/sub-menu-bg-r.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px 000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #000; +} +.sticky_menu_style7 #sticky_menu div.sub-menu>div>h6 { + color: #fff; + font-size: 16px; + border-bottom: 1px dotted #fff!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style7 #sticky_menu div.sub-menu>div { } +.sticky_menu_style7 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style7 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #111; + text-decoration: underline; +} +.sticky_menu_style7 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style7 #sticky_menu .sub-menu li a { + border: none!important; + color: #fff; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style7 #sticky_menu .sub-menu li a:hover { + border: none; + color: #333; + text-decoration: underline; +} +.sticky_menu_style7 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style7 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style7 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style7 .stickymenu-textbox { + font-size: 11px; + color: #fff; +} +.sticky_menu_style7 .stickymenu-textbox p { } + + +/* ========== Sticky Menu Stylings ||| Style 8 ========== */ + + +.sticky_menu_style8 #sticky_menu { + background: url(i/style8-bg.png) repeat-x; + border: 1px solid #111; +} +.sticky_menu_style8 #sticky_menu li { + border: 1px solid #111; + border-left: none; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style8 #sticky_menu li a { + border: 1px solid #aaa; + color: #fff; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style8 #sticky_menu>li:first-child { } +.sticky_menu_style8 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style8 #sticky_menu>li>ul.sub-menu { + background: url(i/sub-menu-bg-w.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; + border: 1px solid #fff; + margin: 0; +} +.sticky_menu_style8 #sticky_menu>li>ul.sub-menu ul { + background: url(i/sub-menu-bg-w.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; +} +.sticky_menu_style8 #sticky_menu ul.sub-menu li a { color: #111 } +.sticky_menu_style8 #sticky_menu ul.sub-menu li a:hover { color: #333 } +.sticky_menu_style8 #sticky_menu li a span { color: #111 } +.sticky_menu_style8 #sticky_menu>li.showdropdown { } +.sticky_menu_style8 #sticky_menu li:hover { background: #fff } +.sticky_menu_style8 #sticky_menu li:hover a { color: #111 } +.sticky_menu_style8 #sticky_menu li:hover span { color: #111 } +.sticky_menu_style8 #sticky_menu div.sub-menu { + background: url(i/sub-menu-bg-w.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; + border: 1px solid #fff; +} +.sticky_menu_style8 #sticky_menu div.sub-menu>div>h6 { + color: #111; + font-size: 16px; + border-bottom: 1px dotted #111!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style8 #sticky_menu div.sub-menu>div { } +.sticky_menu_style8 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style8 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #111; + text-decoration: underline; +} +.sticky_menu_style8 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style8 #sticky_menu .sub-menu li a { + border: none!important; + color: #111; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style8 #sticky_menu .sub-menu li a:hover { + border: none; + color: #333; + text-decoration: underline; +} +.sticky_menu_style8 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style8 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style8 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style8 .stickymenu-textbox { + font-size: 11px; + color: #111; +} +.sticky_menu_style8 .stickymenu-textbox p { } + + diff --git a/src/wp-content/plugins/sticky_menu/sprites/js/sticky_menu.js b/src/wp-content/plugins/sticky_menu/sprites/js/sticky_menu.js new file mode 100644 index 0000000..72f1393 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sprites/js/sticky_menu.js @@ -0,0 +1,59 @@ +jQuery(function($){ + + var menu = $("#sticky_menu"); + var animate_in = $("#sticky_menu_fadein").val(); + var animate_out = $("#sticky_menu_fadeout").val(); +/* ==================================================================== */ +/* ============================ Menu Settings ========================= */ +/* ==================================================================== */ + +// $("#menu>li>.sub-menu").append(""); +menu.children("li").each(function(){ + + if(!$(this).hasClass("rel")) + $(this).find(".tooltip").css("left",$(this).position().left+$(this).width()/2); + +}); + +menu.find("li").hover(function(){ + + switch(animate_in) + { + case "fade" : $(this).children('.sub-menu').hide().fadeIn('normal'); break; + case "show" : $(this).children('.sub-menu').hide().show(); break; + case "showanimate" : $(this).children('.sub-menu').hide().show('normal'); break; + case "slide" : $(this).children('.sub-menu').hide().slideDown('normal'); break; + default : $(this).children('.sub-menu').hide().slideDown('normal'); + } + + + + },function(){ + + + switch(animate_out) + { + case "fade" : $(this).children('.sub-menu').fadeOut('normal',function(){ $(this).hide(); }); break; + case "hide" : $(this).children('.sub-menu').hide(); break; + case "hideanimate" : $(this).children('.sub-menu').hide('normal',function(){ $(this).hide(); }); break; + case "slide" : $(this).children('.sub-menu').slideUp('normal',function(){ $(this).hide(); }); break; + default : $(this).children('.sub-menu').slideUp('normal',function(){ $(this).hide(); }); + } + + + }); + +menu.children("li").each(function(){ + +// if($(this).children().hasClass("sub-menu")) +// $(this).addClass("showdropdown"); + + }); + + + if($(".sticky_menu_Full").length>0) + { + menu.width($(window).width()); + } + + }); \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/colorpicker.css b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/colorpicker.css new file mode 100644 index 0000000..aa63acc --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/colorpicker.css @@ -0,0 +1,177 @@ +.colorpicker { + width: 356px; + height: 176px; + overflow: hidden; + position: absolute; + background: url(images/colorpicker_background.png); + font-family: Arial, Helvetica, sans-serif; + display: none; + z-index:9999; +} +.colorpicker_color { + width: 150px; + height: 150px; + left: 14px; + top: 13px; + position: absolute; + background: #f00; + overflow: hidden; + cursor: crosshair; +} +.colorpicker_color div { + position: absolute; + top: 0; + left: 0; + width: 150px; + height: 150px; + background: url(images/colorpicker_overlay.png); +} +.colorpicker_color div div { + position: absolute; + top: 0; + left: 0; + width: 11px; + height: 11px; + overflow: hidden; + background: url(images/colorpicker_select.gif); + margin: -5px 0 0 -5px; +} +.colorpicker_hue { + position: absolute; + top: 13px; + left: 171px; + width: 35px; + height: 150px; + cursor: n-resize; +} +.colorpicker_hue div { + position: absolute; + width: 35px; + height: 9px; + overflow: hidden; + background: url(images/colorpicker_indic.gif) left top; + margin: -4px 0 0 0; + left: 0px; +} +.colorpicker_new_color { + position: absolute; + width: 60px; + height: 30px; + left: 213px; + top: 13px; + background: #f00; +} +.colorpicker_current_color { + position: absolute; + width: 60px; + height: 30px; + left: 283px; + top: 13px; + background: #f00; +} +.colorpicker input { + background-color: transparent; + border: 1px solid transparent; + position: absolute; + font-size: 10px; + font-family: Arial, Helvetica, sans-serif; + color: #898989; + top: 4px; + right: 11px; + text-align: right; + margin: 0; + padding: 0; + height: 11px; +} +.colorpicker_hex { + position: absolute; + width: 72px; + height: 22px; + background: url(images/colorpicker_hex.png) top; + left: 212px; + top: 142px; +} +.colorpicker_hex input { + right: 6px; +} +.colorpicker_field { + height: 22px; + width: 62px; + background-position: top; + position: absolute; +} +.colorpicker_field span { + position: absolute; + width: 12px; + height: 22px; + overflow: hidden; + top: 0; + right: 0; + cursor: n-resize; +} +.colorpicker_rgb_r { + background-image: url(images/colorpicker_rgb_r.png); + top: 52px; + left: 212px; +} +.colorpicker_rgb_g { + background-image: url(images/colorpicker_rgb_g.png); + top: 82px; + left: 212px; +} +.colorpicker_rgb_b { + background-image: url(images/colorpicker_rgb_b.png); + top: 112px; + left: 212px; +} +.colorpicker_hsb_h { + background-image: url(images/colorpicker_hsb_h.png); + top: 52px; + left: 282px; +} +.colorpicker_hsb_s { + background-image: url(images/colorpicker_hsb_s.png); + top: 82px; + left: 282px; +} +.colorpicker_hsb_b { + background-image: url(images/colorpicker_hsb_b.png); + top: 112px; + left: 282px; +} +.colorpicker_submit { + position: absolute; + width: 22px; + height: 22px; + background: url(images/colorpicker_submit.png) top; + left: 322px; + top: 142px; + overflow: hidden; +} +.colorpicker_focus { + background-position: center; +} +.colorpicker_hex.colorpicker_focus { + background-position: bottom; +} +.colorpicker_submit.colorpicker_focus { + background-position: bottom; +} +.colorpicker_slider { + background-position: bottom; +} + +#colorSelector , #bgcolorSelector { + position: relative; + width: 36px; + height: 36px; + background: url(images/select.png); +} +#colorSelector div , #bgcolorSelector div { + position: absolute; + top: 3px; + left: 3px; + width: 30px; + height: 30px; + background: url(images/select.png) center; +} \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/global.css b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/global.css new file mode 100644 index 0000000..837af82 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/global.css @@ -0,0 +1,185 @@ +/* CSS Document */ + +.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.clearfix { display: inline-block; *zoom:1;} +* html .clearfix { height: 1%; } /* Hides from IE-mac \*/ +.clearfix { display: block; } + +.hades-widget-custom .widget-top{ border:1px solid #d6d6d6!important; background:url(i/hades-widget-header.jpg) top left no-repeat!important; -moz-box-shadow:0px 0px 3px #d6d6d6; -webkit-box-shadow:0px 0px 3px #d6d6d6; box-shadow:0px 0px 3px #d6d6d6; } +.hades_information { background:#f6f3d5; border:1px solid #e7e2bc; border-radius:2px; -moz-border-radius:2px; display:block; padding:10px 30px; color:#5e5638; font-weight:100; font-style:italic; font-size:10px!important; line-height:1.6; margin-right:20px; margin-top:15px; position:relative; margin-left:20px; } +.hades_information p { padding:0px 4px; display:block; } +.hades_information .info-icon { } +p.info-text { font-size: 11px; color: #777; padding:10px; } +/* =============================================================== */ +/* ----------------------- Shortcode Styling --------------------- */ +/* =============================================================== */ + +.shortcode-wrapper {background: none!important; } +.shortcode-wrapper { } +.shortcode-wrapper .top-panel{ background: none!important; } +.shortcode-wrapper .top-panel .button { margin:11px 0px 10px 5px; } +.shortcode-wrapper .top-panel select , .shortcode-wrapper .top-panel label , .shortcode-wrapper .top-panel a { float:left; } + +.shortcode-wrapper>div { background: #eee!important;} +.shortcode-wrapper .hades_input { background:none!important; margin:0!important; padding-bottom:10px!important; } +.shortcode-wrapper .top-panel select {font-size: 11px!important; color: #777; margin-top:10px; } +.shortcode-wrapper .top-panel label { margin-top:13px; margin-right:5px; } +.shortcode-wrapper .top-panel .add-button { display: inline-block;background:url(i/add-shortcode.png) no-repeat!important; cursor:pointer; width: 129px!important; height: 50px!important;text-indent: -9999px!important;border: none; margin-top:2px;} + +.shortcode-wrapper .top-panel .done-button {display: inline-block; background:url(i/done-shortcode.png) no-repeat!important; cursor:pointer; width: 94px!important; height: 50px!important;text-indent: -9999px!important;border: none;} +.preview-panel { float:right; } +.preview-panel span { float:left; margin-right:5px; margin-top:7px; } +.preview-panel a{ display: float:left; height:26px!important; padding:10px 25px 0px 25px!important; font-size:14px!important; font-weight:700!important; text-transform:uppercase!important; text-decoration:none; color:#fff; border:1px solid transparent; } +.preview-panel a.glass { background:url(i/glass.png) repeat-x;} +.preview-panel a.shade { background:url(i/soft-shade.png) repeat-x;} + +.styled ul { padding:5px; margin:0; display:block; } +.styled ul li { padding:4px 4px 4px 20px; margin:4px 0px 4px 0px; line-height:1.3; } +.styled ul li a { text-decoration:none; } +.arrow ul li{ background:url(i/list-bg-arrow.png) 0px 5px no-repeat; } +.clip ul li{ background:url(i/list-bg-clip.png) 0px 5px no-repeat; } +.cross ul li{ background:url(i/list-bg-cross.png) 0px 5px no-repeat; } +.folder ul li{ background:url(i/list-bg-folder.png) 0px 5px no-repeat; } +.info ul li{ background:url(i/list-bg-info.png) 0px 5px no-repeat; } +.music ul li{ background:url(i/list-bg-music.png) 0px 5px no-repeat; } +.note ul li{ background:url(i/list-bg-note.png) 0px 5px no-repeat; } +.picture ul li{ background:url(i/list-bg-picture.png) 0px 5px no-repeat; } +.rounded-tick ul li{ background:url(i/list-bg-rounded-tick.png) 0px 5px no-repeat; } +.tick ul li{ background:url(i/list-bg-tick.png) 0px 5px no-repeat; } + +/* ============== Global Loading Icon =============== */ +.ajax_loading_icon { background:url(i/89.gif) center center no-repeat; width:16px; height:16px; display:block; float:left; margin:30px 10px 10px 30px; visibility:hidden; opacity:0; } + +/* =============================================================== */ +/* ----------------------- Custom Gallery Type ------------------- */ +/* =============================================================== */ + + +#hades_gallery { background:#f7f9fa; border:1px solid #c1c1c1; margin:0; } +#hades_gallery .toppanel { background:url(i/head-bg.jpg) repeat-x; height:45px ; position:relative; z-index:2; border-bottom:1px solid #cfcfcf;} + +#addslide { margin:8px 0px 2px 10px; float:left; } +#hades_gallery .slide-head { height:43px; background:#ffffff; border-bottom:1px solid #cecece; } + +#hades_gallery .slider-lists { margin:0; padding:0; } +#hades_gallery .slider-lists ul li { margin:0; padding:0; } + +#hades_gallery .delete-slide-button { background:url(i/delete.png) top right no-repeat; color:#fff; text-transform:uppercase; font-weight:900; text-decoration:none; padding:2px 18px 2px 8px; float:right; border:1px solid #a51506; border-radius:4px; -moz-border-radius:4px; font-size:9px; margin:10px 10px 0px 0px; } +#hades_gallery a.delete-slide-button:hover { color:#fff; -moz-box-shadow:0px 0px 4px #c01737; } + +#hades_gallery .min-slide-button { background:url(i/toggle-minimized.png) top right no-repeat; color:#373a3f; text-transform:uppercase; font-weight:900; text-decoration:none; padding:2px 22px 2px 8px; float:right; border:1px solid #cecece; border-radius:4px; -moz-border-radius:4px; font-size:9px; margin:10px 10px 0px 0px; } +#hades_gallery .max-slide-button { background: url(i/toggle-maximized.png) top right no-repeat; color:#373a3f; text-transform:uppercase; font-weight:900; text-decoration:none; padding:2px 22px 2px 8px; float:right; border:1px solid #cecece; border-radius:4px; -moz-border-radius:4px; font-size:9px; margin:10px 10px 0px 0px; } + +#hades_gallery .imageholder { width:200px; float:left; padding:30px 10px 30px 40px; } +#hades_gallery .imageholder img { display:block; width:113px; height:76px; border:5px solid #fff; -moz-box-shadow:1px 1px 4px #ccc; } +#hades_gallery .imageholder span { color:#555; font-style:italic; display:block; margin-left:21px; margin-bottom:5px; } +#hades_gallery .selection { width:400px; float:left; padding:30px 10px 30px 20px; } +#hades_gallery .selection label { float:left; display:inline-block; margin-top:7px; margin-right:4px; } +#hades_gallery .info-panel { border-bottom:1px solid #e4e4e4; } +#hades_gallery .separator { border-bottom:1px solid #e4e4e4; padding:10px 10px; } +#hades_gallery .lseparator { padding:10px; } +#hades_gallery .separator label , .separator input[type=text] , .separator input[type=file] , .lseparator label , .lseparator textarea { float:left; } +#hades_gallery .separator label , .lseparator label { margin-top:4px; width:100px; } +#hades_gallery .lseparator textarea , .separator input[type=text]{ width:400px; } +#hades_gallery .drag-highlight { height:43px; background:#f4f4f4; border:1px dashed #111; border-radius:4px; -moz-border-radius:4px; } +.custom_upload_image_button { float:left; margin:1px 0px 0px 5px; } +#hades_gallery .slide-hide { display:none; } +#hades_gallery .image-url { font-size:11px; font-style:italic; color:#111; font-family:Georgia, "Times New Roman", Times, serif; margin-top:5px; margin-left:10px; float:left; } + + +/* =============================================================== */ +/* ----------------------- Global Input Style ------------------- */ +/* =============================================================== */ + +.hades_input { margin:10px 0px 10px 0px; padding:10px 0px 30px 0px; border-bottom:1px solid #d1d6d8; } +.hades_input label { display:block; font-weight:bold; text-shadow:0px 1px 1px #fff; padding:0px 13px 13px 10px; color:#333; float:left; width:180px; margin-top:5px; letter-spacing: -1px; } +.hades_input input[type=text] { text-align:left!important; width:280px; display:block; float:left; border:1px solid #ccc; color: #999; font-size: 10px;} +.hades_input textarea { text-align:left!important; width:280px; height:200px; display:block; float:left; border:1px solid #ccc; padding: 3px; font-size: 10px;} +.hades_input select , .hades_input input { display:none; float:left; padding:6px;} +.hades_input select { width:280px; height:35px!important; padding:5px 4px!important; color: 777; font-size: 10px;} +.hades_input small { padding:2px 5px 2px 30px; font-size:11px; float:right; margin-left:6px; position:relative; } + + +#intro_blurb_box input[type=text] , #intro_blurb_box textarea { width:96%; display:block; float:none!important; } + +/* =============================================================== */ +/* ----------------------- Mega Menu Styling --------------------- */ +/* =============================================================== */ + +.h-megamenu .admin-button { margin:4px 0px 6px 0px; padding:4px 8px!important; } +.h-megamenu p label { float:left; width:120px; } +.h-megamenu p input[type=checkbox] { float:left; } + +.h_megamenu_box input[type=checkbox] { margin:10px; float:left; } +.h_megamenu_box select { float:left; margin-top:7px; margin-left:10px; } +.h_megamenu_box select { padding:5px; } +.h_megamenu_box label { float:left; margin-top:8px; } + +.item-type-h-column , .item-type-h-widget , .item-type-hmenu , .h_megamenu_row_box { display:none; } +.hmenu_info { font-size:10px; font-style:inherit; color:#333333; display:block; margin:2px; background:#eee; } + + +.upload-area { display:block; padding:6px 2px; background:url(i/top-panel-bg.png) repeat-x!important; border-bottom:1px solid #ccc;width: 100%; } +.upload-area label { margin:6px 2px; float:left; width:80px; color:#333; font-weight: 900; letter-spacing: -1px;font-size:12px; padding:16px 5px 16px 20px; } +.upload-area .uploadify { float:left; margin:17px 4px 10px 10px; } + +.upload-area input { float:left; margin:17px 4px 10px 0px; padding:7px; } + +.upload-area .add-sidebar-button{ display:inline-block; background:url(i/add-sidebar-bg.png) no-repeat!important; margin-right:20px; float:left; margin-top: 14px;cursor:pointer; width: 104px; height: 42px; text-indent: -9999px;border: none!important;} + +.textbox { width:90%; } +.hide { display:none; } +/* =============================================================== */ +/* ----------------------- Managers Styling ---------------------- */ +/* =============================================================== */ + + +#hades_theme { background:#fafafa; border:1px solid #c1c1c1; margin:17px 25px 30px 22px; -moz-border-radius-topleft:5px; -moz-border-radius-topright:5px; border-top-left-radius:5px; border-top-right-radius:5px; -moz-box-shadow:0px 0px 0px 2px #f2f2f2; box-shadow:0px 0px 0px 2px #f2f2f2; -webkit-box-shadow:0px 0px 0px 2px #f2f2f2; } + +.hades_wrap { border-left:1px solid #fff; margin-top:10px; width:980px; } +.hades-head { background:#fafafa; height:80px ; position:relative; z-index:2; -moz-border-radius-topleft:5px; -moz-border-radius-topright:5px; border-top-left-radius:5px; border-top-right-radius:5px; border-bottom:1px solid #cfcfcf; } + +.hades-head #logo { background:url(i/logo.png) no-repeat; width:60px; height:60px; float:right; margin-top:10px; margin-right:20px; } +.hades_wrap .notice-bar { background:#fff; height:27px; border-bottom:1px solid #ccc; } +.hades_wrap .notice-bar p { margin:0; padding:6px 0 0 0; text-align:center; color:#333; font-size:11px; text-shadow:1px 1px 0px #fff; } + +.hades_section .submit { background:#fff; border-left:1px solid #cecece; display:block; padding:0px 10px 5px 3px; margin:0; width:821px; float:right; border-bottom:1px solid #cecece; } +.submit .admin-button , .top-panel .admin-button , .fontmanager .admin-button , .sidebarmanager .admin-button{ display:inline-block; background:url(i/save-bg.png) no-repeat!important; margin-right:20px; margin-bottom:20px; float:right; cursor:pointer; width: 120px; height: 40px; text-indent: -9999px;border: none;} +.fontmanager .admin-button , .sidebarmanager .admin-button { margin-top:10px; } + +.panel-reset , .add-sidebar-button{ display:inline-block; background:url(i/reset-bg.png) no-repeat!important; margin-right:20px; margin-bottom:20px; float:left; cursor:pointer; width: 90px; height: 40px; text-indent: -9999px;border: none!important;} + + +.top-panel { background:url(i/top-panel-bg.png) repeat-x!important; border-bottom:1px solid #cecece; margin:-10px 0px 0px; padding-left: 20px; padding-right: 20px; padding-top: 16px;} +.top-panel .admin-button { margin-right:0px; } +.top-panel .panel-reset { color:#54616a!important; margin-left:0px; } +.reset-form { float:left; width:200px!important; } + +.subpanel-sidemenu { width:185px; float:left; height:100%; display:block; position:relative; z-index:99; padding-top:0px; } +.subpanel-sidemenu li { display:block; border-bottom:1px solid #fff; margin:0; } +.subpanel-sidemenu li a { text-decoration:none; color:#777777;font-weight:900; display:block; padding:15px 10px 15px 18px; text-shadow:0px 1px 1px #fff; font-size:12px; border-bottom:1px solid #dae4e8; } +.subpanel-sidemenu li.ui-state-active { background:url(i/active-bg.jpg) top right no-repeat; color:#2b8eb3; margin-right:-15px; border-bottom:none; } +.subpanel-sidemenu li.ui-state-active a { background: url(i/basic.jpg) 10% 50% no-repeat; padding-left:41px; border-bottom:none; color:#262e34; } + +#hades_opts #panel-wrapper { width:835px; float:left; position:relative; display:block;} +#hades_opts #side-panel-wrapper { width:927px; float:left; position:relative; display:block; background: #fafafa;} +#hades_opts #font-panel-wrapper { width:927px; float:left; position:relative; display:block; background: #fafafa;} +#hades_opts #side-panel-wrapper .admin-button { display:inline-block; background:url(i/save-bg.png) no-repeat!important; margin-right:20px; margin-top:20px; float:right; cursor:pointer; width: 120px; height: 40px; text-indent: -9999px;border: none;} + +.sidebarmanager .active-sidebars li.sidebar-holder , .sidebarmanager .inactive-sidebars li.sidebar-holder{ background:#fafafa!important; border:1px dashed #ccc!important; width:250px; padding:8px; height:15px!important; -moz-box-shadow:none; box-shadow:none; -webkit-box-shadow:none; } + +.sidebarmanager .active-sidebars li , .inactive-sidebars li{ background: #333; border:1px solid #333; width:250px; position:relative; padding:8px; margin:-1px 0 20px 0 !important; display:block; border-radius:4px; -moz-border-radius:4px;-moz-box-shadow:0px 0px 2px #333; box-shadow:0px 0px 2px #333; -webkit-box-shadow:0px 0px 2px #333;color: #fff; line-height: 12px; cursor:move; } +.sidebarmanager .active-sidebars a.delete , .inactive-sidebars a.delete{ background:url(i/cancel.png) no-repeat; display:block; width:16px; height:16px; position:absolute; top:-8px; right:-7px; } +.sidebarmanager .inactive-sidebars li , .inactive-sidebars li{ background: #333; border:1px solid #333; width:250px; position:relative; padding:8px; margin:-1px 0 20px 0 !important; display:block; border-radius:4px; -moz-border-radius:4px;-moz-box-shadow:0px 0px 2px #333; box-shadow:0px 0px 2px #333; -webkit-box-shadow:0px 0px 2px #333;color: #fff; line-height: 12px;} +.sidebarmanager .inactive-sidebars a.delete , .inactive-sidebars a.delete{ background:url(i/cancel.png) no-repeat; display:block; width:16px; height:16px; position:absolute; top:-8px; right:-7px; } +.manage-sidebars { padding:10px; background:#fafafa; } +.active-sidebars , .inactive-sidebars{ margin-bottom: 30px;} +.sidebarmanager .active-wrapper { float:left;margin-top:10px; margin-left:20px; } +.sidebarmanager .active-wrapper h4{ border-bottom: 1px solid #ccc; padding-bottom: 5px;letter-spacing: -1px;} +.sidebarmanager .inactive-wrapper { float:right; margin-top:10px; margin-right:20px; } +.sidebarmanager .inactive-wrapper h4{ border-bottom: 1px solid #ccc; padding-bottom: 5px;letter-spacing: -1px;} +.uploaded-fonts { margin:20px; } +.uploaded-fonts p { background: url(i/head-bg.jpg) repeat-x; border:1px solid #d4d7de; width:510px; position:relative; padding:7px; margin:-1px 0 0 0 !important; display:block; } +.uploaded-fonts p span { } +.uploaded-fonts a.delete { background:url(i/cancel.png) no-repeat; display:block; width:16px; height:16px; position:absolute; top:-8px; right:-7px; } +.inactive-sidebars { padding:10px 0px; width:250px; margin-top:-10px; } diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/hades.css b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/hades.css new file mode 100644 index 0000000..05a5882 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/hades.css @@ -0,0 +1,198 @@ +/* CSS Document */ + +.ajax_loading_icon { background:url(i/89.gif) center center no-repeat; width:16px; height:16px; display:block; float:left; margin:30px 10px 10px 30px; visibility:hidden; opacity:0; } +.hades_information { background:#f6f3d5; border:1px solid #e7e2bc; border-radius:2px; -moz-border-radius:2px; display:block; padding:10px 30px; color:#5e5638; font-weight:100; font-style:italic; font-size:10px!important; line-height:1.6; margin-right:20px; margin-top:15px; position:relative; margin-left:20px; } + +#hades_theme { background:#fafafa; border:1px solid #c1c1c1; margin:17px 25px 30px 22px; -moz-border-radius-topleft:5px; -moz-border-radius-topright:5px; border-top-left-radius:5px; border-top-right-radius:5px; -moz-box-shadow:0px 0px 0px 2px #f2f2f2; box-shadow:0px 0px 0px 2px #f2f2f2; -webkit-box-shadow:0px 0px 0px 2px #f2f2f2; } + +.hades_wrap { border-left:1px solid #fff; margin-top:10px; width:980px; } +.hades-head { background:#fafafa; height:80px ; position:relative; z-index:2; -moz-border-radius-topleft:5px; -moz-border-radius-topright:5px; border-top-left-radius:5px; border-top-right-radius:5px; border-bottom:1px solid #cfcfcf; } + +.hades-head #logo { background:url(i/logo.png) no-repeat; width:60px; height:60px; float:right; margin-top:10px; margin-right:20px; } +.hades_wrap .notice-bar { background:#fff; height:27px; border-bottom:1px solid #ccc; } +.hades_wrap .notice-bar p { margin:0; padding:6px 0 0 0; text-align:center; color:#333; font-size:11px; text-shadow:1px 1px 0px #fff; } + +.hades_section .submit { background:#fff; border-left:1px solid #cecece; display:block; padding:0px 10px 5px 3px; margin:0; width:821px; float:right; border-bottom:1px solid #cecece; } +.submit .admin-button , .top-panel .admin-button , .fontmanager .admin-button , .sidebarmanager .admin-button{ display:inline-block; background:url(i/save-bg.png) no-repeat!important; margin-right:20px; margin-bottom:20px; float:right; cursor:pointer; width: 120px; height: 40px; text-indent: -9999px;border: none;} +.fontmanager .admin-button , .sidebarmanager .admin-button { margin-top:10px; } + +.panel-reset , .add-sidebar-button{ display:inline-block; background:url(i/reset-bg.png) no-repeat!important; margin-right:20px; margin-bottom:20px; float:left; cursor:pointer; width: 90px; height: 40px; text-indent: -9999px;border: none!important;} + + +.top-panel { background:url(i/top-panel-bg.png) repeat-x!important; border-bottom:1px solid #cecece; margin:-10px 0px 0px; padding-left: 20px; padding-right: 20px; padding-top: 16px;} +.top-panel .admin-button { margin-right:0px; } +.top-panel .panel-reset { color:#54616a!important; margin-left:0px; } +.reset-form { float:left; width:200px!important; } + +.subpanel-sidemenu { width:185px; float:left; height:100%; display:block; position:relative; z-index:99; padding-top:0px; } +.subpanel-sidemenu li { display:block; border-bottom:1px solid #fff; margin:0; } +.subpanel-sidemenu li a { text-decoration:none; color:#777777;font-weight:900; display:block; padding:15px 10px 15px 18px; text-shadow:0px 1px 1px #fff; font-size:12px; border-bottom:1px solid #dae4e8; } +.subpanel-sidemenu li.ui-state-active { background:url(i/active-bg.jpg) top right no-repeat; color:#2b8eb3; margin-right:-15px; border-bottom:none; } +.subpanel-sidemenu li.ui-state-active a { background: url(i/basic.jpg) 10% 50% no-repeat; padding-left:41px; border-bottom:none; color:#262e34; } + +#hades_opts #panel-wrapper { width:835px; float:left; position:relative; display:block; clear:none!important; } +#hades_opts #side-panel-wrapper { width:927px; float:left; position:relative; display:block; background: #fafafa;} +#hades_opts #font-panel-wrapper { width:927px; float:left; position:relative; display:block; background: #fafafa;} +#hades_opts #side-panel-wrapper .admin-button { display:inline-block; background:url(i/save-bg.png) no-repeat!important; margin-right:20px; margin-top:20px; float:right; cursor:pointer; width: 120px; height: 40px; text-indent: -9999px;border: none;} + + +.hupload { float:left; width:300px; } +.success_message { opacity:0; visibility:hidden; height:0; } +.hades_input input[type=file] { display:block!important; width:300px; float:none!important; } +.hades_input { margin:10px 0px 10px 0px; padding:10px 0px 30px 0px; border-bottom:1px solid #d1d6d8; } +.hades_input label { display:block; font-weight:bold; text-shadow:0px 1px 1px #fff; padding:0px 13px 13px 10px; color:#333; float:left; width:180px; margin-top:5px; letter-spacing: -1px; clear:none!important; } +.hades_input input[type=text] { text-align:left!important; width:280px; display:block; float:left; border:1px solid #ccc; color: #999; font-size: 10px; clear:none!important;} +.hades_input textarea { text-align:left!important; width:280px; height:200px; display:block; float:left; border:1px solid #ccc; padding: 3px; font-size: 10px; clear:none!important;} +.hades_input select , .hades_input input { display:none; float:left; padding:6px; clear:none!important;} +.hades_input select { width:280px; height:35px!important; padding:5px 4px!important; color: 777; font-size: 10px; clear:none!important;} +.hades_input small { padding:2px 5px 2px 30px; font-size:11px; float:right; margin-left:6px; position:relative; clear:none!important; } +.hades_input .custom_upload_image_button{ float:left; margin:2px 3px 1px 5px; } +.hades_input small span { width:260px!important; display:block; padding:0; color:#777; clear:none!important;} + +.subtitle-heading { display:block; clear:left!important; width:98%; padding:10px; background:#fff; border-bottom:1px solid #ccc; margin-left: 0px; border-left: 1px solid #ccc; } +.subtitle-heading a { font-size:16px; text-decoration:none; font-weight: bold; letter-spacing: -1px;color: #d54e38; padding-left: 0px;} + +.hades_input input[type=checkbox] { margin-top:7px; display:block; } +.hades_input input[type=text]:focus ,textarea:focus { outline:none; } +.hades_input .ui-widget { float:left; } +.hades_input .ui-button { margin-left: -1px; margin-top:0px; } +.hades_input .ui-button-icon-only .ui-button-text { padding: 5px 10px; } +.hades_input .ui-autocomplete-input { margin: 0; padding: 0.48em 0 0.47em 0.45em; width:200px; } + +.height-small { height:120px; } +.height-medium { height:240px; } +.height-large { height:360px; } + +.width-small { width:100px!important; } +.width-medium { width:150px!important; } +.width-large { width:250px!important; } + +#themenav { background:#fafafa; position:relative; z-index:1; width:92px; float:left; clear:none!important; } +#themenav li { display:block; padding:10px 8px 0px 8px; margin-bottom:0; width:76px; height:76px; border-bottom:1px solid #ccc; } +#themenav li a { text-decoration:none; color:#777; display:block; padding:10px 8px 7px 8px; font-size:12px; text-align:center; line-height: 30px;letter-spacing: -1px;text-shadow:1px 1px 0px #fff;} +#themenav li a.font-manager span { background:url(i/edit.png) center center no-repeat; } +#themenav li a.sidebar-manager span { background: #fff url(i/application-sidebar-list.png) center center no-repeat; } +#themenav li.ui-state-active { background:#fff; display:block; border-bottom:1px solid #ccc; } +#themenav li.ui-state-active a {text-decoration:none; color:#333; display:block; letter-spacing: -1px; align:center;} +#themenav li a>span { display:block; width:30px; height:30px; margin:0px auto; } + +#themenav li.ui-state-active #menu_General>span{ background:url(i/menu-sprite.png) 0px 0px no-repeat; } +#themenav li #menu_General>span{ background:url(i/menu-sprite.png) 0px -40px no-repeat; } + +#themenav li.ui-state-active #menu_Homepage>span{ background:url(i/menu-sprite.png) -40px 0px no-repeat; } +#themenav li #menu_Homepage>span{ background:url(i/menu-sprite.png) -40px -40px no-repeat; } + +#themenav li.ui-state-active #menu_Blog>span{ background:url(i/menu-sprite.png) -80px 0px no-repeat; } +#themenav li #menu_Blog>span{ background:url(i/menu-sprite.png) -80px -40px no-repeat; } + +#themenav li.ui-state-active #menu_Typography>span{ background:url(i/menu-sprite.png) -123px 0px no-repeat; } +#themenav li #menu_Typography>span{ background:url(i/menu-sprite.png) -123px -40px no-repeat; } + +#themenav li.ui-state-active #menu_Media>span{ background:url(i/menu-sprite.png) -161px 0px no-repeat; } +#themenav li #menu_Media>span{ background:url(i/menu-sprite.png) -161px -40px no-repeat; } + +#themenav li.ui-state-active #menu_Sidebars>span{ background:url(i/menu-sprite.png) -200px 0px no-repeat; } +#themenav li #menu_Sidebars>span{ background:url(i/menu-sprite.png) -200px -40px no-repeat; } + +#themenav li.ui-state-active #menu_Misc>span{ background:url(i/menu-sprite.png) -200px -5px no-repeat; } +#themenav li #menu_Misc>span{ background:url(i/menu-sprite.png) -240px -45px no-repeat; } + +#themenav li.ui-state-active #menu_Visual>span{ background:url(i/menu-sprite.png) -239px -1px no-repeat; } +#themenav li #menu_Visual>span{ background:url(i/menu-sprite.png) -239px -41px no-repeat; } + +#themenav li.ui-state-active #menu_Menu>span{ background:url(i/menu-sprite.png) -200px -1px no-repeat; } +#themenav li #menu_Visual>span{ background:url(i/menu-sprite.png) -239px -41px no-repeat; } + +.hades_section { padding:0px; } + + + + + +.hades_options { margin:0px; padding:0;background:#fff; } +.subpanel { background:#fafafa; } +.hades_subpanel { float:left; background:#fafafa; padding:5px 0px 0px ; border-left:1px solid #ccc; width:838px;clear:none!important; } +.hades_input .ui-slider { float:left; } +.hades_input .slider-text { width:60px!important; margin-left:15px; border:1px solid #d8d8d8; -moz-box-shadow:1px 1px 2px #ddd; box-shadow:1px 1px 2px #ddd; -webkit-box-shadow:1px 1px 2px #ddd; padding:6px; margin-right:1px; margin-top:16px; } +.slider-suffix { padding:22px 3px 0px 5px!important; } +.hades_input .ui-slider { position: relative; text-align: left; background: url(i/slider-bar.png) repeat-x; margin-top:9px; width:250px;} +.hades_input .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width:21px; height:29px; cursor: pointer; background: url(i/handle.png) top left no-repeat; } +.hades_input .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.hades_input .ui-slider-horizontal { height:51px; } +.hades_input .ui-slider-horizontal .ui-slider-handle { top: 8px; margin-left:-20px; } +.hades_input .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.hades_input .ui-slider-horizontal .ui-slider-range-min { left: 0; } +.hades_input .ui-slider-horizontal .ui-slider-range-max { right: 0; } +.help>iframe{ width:97%; height:400px; border:1px solid #d9e5ea; -moz-box-shadow:0px 0px 3px #cfcfcf; box-shadow:0px 0px 3px #cfcfcf; -webkit-box-shadow:0px 0px 3px #cfcfcf } +.hades_input h6 { display:block;float:left; margin:0; padding:5px 5px 5px 0px; font-size:14px; font-weight:100; } +.cicon { background:url(i/colorpicker-icon.png) top left no-repeat!important; display:block; width:27px!important; height:16px!important; margin:6px 0px 0px 5px!important; padding:0!important; float:left!important} + + +.hades_input .ui-buttonset { height:24px!important; overflow:visible; border:none!important;} +.hades_input .ui-buttonset .ui-state-default { text-indent:-9999px; border:none!important; } +.hades_input .ui-buttonset .ui-state-active { text-indent:0px; background:none; border:none; } + +.hades_input .ui-buttonset label { margin:0!important; padding:6px 0 0 0!important; } + +.hades_input .ui-button { background:url(i/toggle-active-bg.png) no-repeat; display: inline-block; position: relative; padding: 0; margin:0; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; width:44px!important; height:38px!important; + } /* the overflow property removes extra width in IE */ + +.hades_input input.ui-button {padding: 9px 11px!important; } +/*button sets*/ +.hades_input .ui-buttonset { margin-top: 5px!important;width:89px!important; position:relative; float:left; border-radius:2px; -moz-border-radius:2px; } +.hades_input .on { border:none!important; background:url(i/toggle-bg-off.png) top left repeat-x!important;} +.hades_input .on .ui-state-active { border:none!important; top:0px!important; left:0px!important; } +.hades_input .on span{ text-shadow:1px 1px 1px #9c4f42; color:#fff!important;line-height: 11px;} +.hades_input .on .ui-state-default { border:1px solid #d3d3d3; top:-7px; left:-2px; } + +.hades_input .off .ui-state-active { border:none!important; top:0px!important; right:0px!important; } +.hades_input .off .ui-state-default { border:1px solid #d3d3d3; top:-7px; right:-4px;} +.hades_input .off .ui-state-default span { color:#fff; } +.hades_input .off { border-radius:2px!important; -moz-border-radius:2px!important; border:none!important; background:url(i/toggle-bg.png) top left repeat-x!important; } +.hades_input .off .ui-state-active { } +.hades_input .off span{ text-shadow:1px 1px 1px #7b9b52!important; color:#fff; line-height: 11px;} + +.hades_input .ui-buttonset .ui-button { margin-left: 0!important; } + +/* workarounds */ +.hades_input button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ +.hades_input .ui-helper-hidden-accessible { visibility:hidden; position:absolute; } + +/*select button styles*/ +.custom-select { float:left; text-decoration:none; cursor:pointer; position:relative; overflow:visible; width:280px; +background:#fff; font-weight:500!important; font-size:11px!important; letter-spacing:0px; border-radius:2px; -moz-border-radius:2px; border:noned8d8d8!important; +} +.custom-select:hover,.custom-select:focus,.custom-select-open { background-position:right center; border-color:#999; } +/*status text*/ +.custom-select-status { float:left; line-height:1.8; color:#444; padding:3px 8px; } +.custom-select-roletext { position: absolute; left: -99999px; } +/* button arrow icon*/ +.custom-select-button-icon { float:right; background: url(i/selectbox-up.png) top left no-repeat; height:28px; width:23px; display:block; } +.custom-select-open .custom-select-button-icon { background: url(i/selectbox-down.png) top left no-repeat; } + + +/*menu styles*/ +.custom-select-menu { border:1px solid #d8d8d8; background:#fff; z-index:999999; position:absolute; margin:0; padding:0; font-size:14px; width:280px; cursor: pointer; overflow: auto; overflow-x: hidden; } + +/*hidden menu state*/ +.custom-select-menu-hidden { display:none; font-size:11px!important;} + +/*li styles*/ +.custom-select-menu li { font-size: 11px!important;padding:0; margin:0; list-style:none; clear:both; border-bottom:1px solid #d8d8d8; } +.custom-select-menu li a { text-decoration:none; color:#777; display:block; cursor: pointer; padding:.5em 5px; } +.custom-select-menu li.hover-focus a{ color:#333; } +.custom-select-menu li.selected { background:#fff; color:#333; } +.custom-select-menu li.selected a {color: #333;text-decoration: underline; } + + +/* make sure first and last li's have round corners */ +.custom-select-menu li:first-child { -moz-border-radius-topright:4px; -webkit-border-top-right-radius:4px; border-top-right-radius:4px; -moz-border-radius-topleft:4px; -webkit-border-top-left-radius:4px; border-top-left-radius:4px; } +.custom-select-menu li:last-child { -moz-border-radius-bottomright:4px; -webkit-border-bottom-right-radius:4px; border-bottom-right-radius:4px; -moz-border-radius-bottomleft:4px; -webkit-border-bottom-left-radius:4px; border-bottom-left-radius:4px; border-bottom:none;} + + +/*hide native select*/ +.select-hidden { display: none; font-size: 11px;} +.select-wrapper { padding:0; float:left; background:#fff; border:1px solid #ccc; -moz-border-radius:4px; -webkit-border-radius:4px; border-radius:4px; margin-top: 5px; clear:none!important } +span.tooltip-tip { background:url(i/tooltip-tip.png) 0px 0px no-repeat!important; display:block!important; width:13px!important; height:23px!important; position:absolute; top:6px!important; left:-13px!important; } + \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/help.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/help.png new file mode 100644 index 0000000..3a4477f Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/help.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/89.gif b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/89.gif new file mode 100644 index 0000000..f92a25d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/89.gif differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/active-bg.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/active-bg.jpg new file mode 100644 index 0000000..294399d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/active-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/add-shortcode.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/add-shortcode.png new file mode 100644 index 0000000..4310e69 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/add-shortcode.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/add-sidebar-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/add-sidebar-bg.png new file mode 100644 index 0000000..fdd72bf Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/add-sidebar-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/application-sidebar-list.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/application-sidebar-list.png new file mode 100644 index 0000000..bfc31f3 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/application-sidebar-list.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/basic.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/basic.jpg new file mode 100644 index 0000000..ebdb14b Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/basic.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/bg.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/bg.jpg new file mode 100644 index 0000000..b32f9c4 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/buy-now-bg.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/buy-now-bg.jpg new file mode 100644 index 0000000..eb245e8 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/buy-now-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/cancel.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/cancel.png new file mode 100644 index 0000000..c701825 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/cancel.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/colorpicker-icon.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/colorpicker-icon.png new file mode 100644 index 0000000..dd4c0bd Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/colorpicker-icon.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/date-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/date-bg.png new file mode 100644 index 0000000..968a0e0 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/date-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/delete.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/delete.png new file mode 100644 index 0000000..2f1837f Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/delete.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/demo-bg.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/demo-bg.jpg new file mode 100644 index 0000000..56871c0 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/demo-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/done-shortcode.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/done-shortcode.png new file mode 100644 index 0000000..f061ba9 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/done-shortcode.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/edit.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/edit.png new file mode 100644 index 0000000..af0c052 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/edit.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/event.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/event.png new file mode 100644 index 0000000..413af23 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/event.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/filler-button-bg.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/filler-button-bg.jpg new file mode 100644 index 0000000..cee7caa Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/filler-button-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/gallery.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/gallery.png new file mode 100644 index 0000000..1e5b754 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/gallery.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/glass.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/glass.png new file mode 100644 index 0000000..9ae0609 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/glass.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/hades-widget-header.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/hades-widget-header.jpg new file mode 100644 index 0000000..cdebdf1 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/hades-widget-header.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/handle.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/handle.png new file mode 100644 index 0000000..7b3a0b9 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/handle.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/head-bg.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/head-bg.jpg new file mode 100644 index 0000000..3e93d9c Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/head-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/icon.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/icon.png new file mode 100644 index 0000000..ce3f37f Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/icon.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/image.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/image.png new file mode 100644 index 0000000..c485c20 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/image.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/info-bg.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/info-bg.jpg new file mode 100644 index 0000000..9ff49cf Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/info-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/info-iconl.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/info-iconl.png new file mode 100644 index 0000000..e4a5472 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/info-iconl.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-arrow.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-arrow.png new file mode 100644 index 0000000..1b43225 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-arrow.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-black.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-black.jpg new file mode 100644 index 0000000..3041261 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-black.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-blue.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-blue.jpg new file mode 100644 index 0000000..f128c2e Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-blue.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-brown.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-brown.jpg new file mode 100644 index 0000000..c1b7c92 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-brown.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-clip.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-clip.png new file mode 100644 index 0000000..ec1d7d8 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-clip.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-cross.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-cross.png new file mode 100644 index 0000000..8e1689d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-cross.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-cyan.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-cyan.jpg new file mode 100644 index 0000000..d73fb6d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-cyan.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-folder.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-folder.png new file mode 100644 index 0000000..68eccdc Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-folder.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-green.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-green.jpg new file mode 100644 index 0000000..a4fe01d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-green.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-grey.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-grey.jpg new file mode 100644 index 0000000..d1c4678 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-grey.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-info.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-info.png new file mode 100644 index 0000000..23580ec Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-info.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-light-brown.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-light-brown.jpg new file mode 100644 index 0000000..93214c6 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-light-brown.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-music.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-music.png new file mode 100644 index 0000000..2a9437a Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-music.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-note.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-note.png new file mode 100644 index 0000000..24ce314 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-note.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-orange.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-orange.jpg new file mode 100644 index 0000000..1cd551f Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-orange.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-peach.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-peach.jpg new file mode 100644 index 0000000..890f34a Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-peach.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-picture.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-picture.png new file mode 100644 index 0000000..50134f2 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-picture.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-pink.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-pink.jpg new file mode 100644 index 0000000..5dcd26a Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-pink.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-purple.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-purple.jpg new file mode 100644 index 0000000..55a1f68 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-purple.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-red.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-red.jpg new file mode 100644 index 0000000..130e2cd Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-red.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-rounded-tick.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-rounded-tick.png new file mode 100644 index 0000000..8b69c48 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-rounded-tick.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-tick-green.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-tick-green.png new file mode 100644 index 0000000..d9325ec Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-tick-green.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-tick.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-tick.png new file mode 100644 index 0000000..3ed171d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/list-bg-tick.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/logo-slice.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/logo-slice.jpg new file mode 100644 index 0000000..46eddbc Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/logo-slice.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/logo.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/logo.png new file mode 100644 index 0000000..8dc4864 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/logo.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/main-menu-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/main-menu-bg.png new file mode 100644 index 0000000..43c8263 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/main-menu-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/menu-sprite.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/menu-sprite.png new file mode 100644 index 0000000..5171411 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/menu-sprite.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/message.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/message.png new file mode 100644 index 0000000..e708416 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/message.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/notice-bar-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/notice-bar-bg.png new file mode 100644 index 0000000..3312c8e Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/notice-bar-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/reset-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/reset-bg.png new file mode 100644 index 0000000..431f419 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/reset-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/reset-button-bg.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/reset-button-bg.jpg new file mode 100644 index 0000000..ea5d726 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/reset-button-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/save-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/save-bg.png new file mode 100644 index 0000000..8390013 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/save-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/save-button-bg.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/save-button-bg.jpg new file mode 100644 index 0000000..1450fe3 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/save-button-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/selectbox-down.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/selectbox-down.jpg new file mode 100644 index 0000000..ba01d60 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/selectbox-down.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/selectbox-down.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/selectbox-down.png new file mode 100644 index 0000000..74d2f62 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/selectbox-down.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/selectbox-up.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/selectbox-up.jpg new file mode 100644 index 0000000..184ea4e Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/selectbox-up.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/selectbox-up.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/selectbox-up.png new file mode 100644 index 0000000..8b935af Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/selectbox-up.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/sidemenu-bg.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/sidemenu-bg.jpg new file mode 100644 index 0000000..edab1b6 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/sidemenu-bg.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/sidemenu-separator.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/sidemenu-separator.jpg new file mode 100644 index 0000000..f41b010 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/sidemenu-separator.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/slider-bar.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/slider-bar.png new file mode 100644 index 0000000..719317a Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/slider-bar.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/soft-shade.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/soft-shade.png new file mode 100644 index 0000000..e14a0b5 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/soft-shade.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/submit-separator.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/submit-separator.jpg new file mode 100644 index 0000000..4c1a6b0 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/submit-separator.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/tab-active.jpg b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/tab-active.jpg new file mode 100644 index 0000000..9ff6fa9 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/tab-active.jpg differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-active-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-active-bg.png new file mode 100644 index 0000000..f5bc43d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-active-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-active.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-active.png new file mode 100644 index 0000000..2a5df55 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-active.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-bg-off.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-bg-off.png new file mode 100644 index 0000000..833faf4 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-bg-off.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-bg.png new file mode 100644 index 0000000..614a257 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-handle-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-handle-bg.png new file mode 100644 index 0000000..33b6e01 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-handle-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-inactive.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-inactive.png new file mode 100644 index 0000000..d2e603d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-inactive.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-maximized.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-maximized.png new file mode 100644 index 0000000..9426722 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-maximized.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-minimized.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-minimized.png new file mode 100644 index 0000000..20e285a Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/toggle-minimized.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/top-panel-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/top-panel-bg.png new file mode 100644 index 0000000..1dd7075 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/i/top-panel-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/blank.gif b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/blank.gif new file mode 100644 index 0000000..75b945d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/blank.gif differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_background.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_background.png new file mode 100644 index 0000000..8401572 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_background.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_hex.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_hex.png new file mode 100644 index 0000000..4e532d7 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_hex.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_hsb_b.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_hsb_b.png new file mode 100644 index 0000000..dfac595 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_hsb_b.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_hsb_h.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_hsb_h.png new file mode 100644 index 0000000..3977ed9 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_hsb_h.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_hsb_s.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_hsb_s.png new file mode 100644 index 0000000..a2a6997 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_hsb_s.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_indic.gif b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_indic.gif new file mode 100644 index 0000000..f9fa95e Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_indic.gif differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_overlay.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_overlay.png new file mode 100644 index 0000000..561cdd9 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_overlay.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_rgb_b.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_rgb_b.png new file mode 100644 index 0000000..dfac595 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_rgb_b.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_rgb_g.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_rgb_g.png new file mode 100644 index 0000000..72b3276 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_rgb_g.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_rgb_r.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_rgb_r.png new file mode 100644 index 0000000..4855fe0 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_rgb_r.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_select.gif b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_select.gif new file mode 100644 index 0000000..599f7f1 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_select.gif differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_submit.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_submit.png new file mode 100644 index 0000000..7f4c082 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/colorpicker_submit.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_background.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_background.png new file mode 100644 index 0000000..cf55ffd Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_background.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_hex.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_hex.png new file mode 100644 index 0000000..888f444 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_hex.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_hsb_b.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_hsb_b.png new file mode 100644 index 0000000..2f99dae Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_hsb_b.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_hsb_h.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_hsb_h.png new file mode 100644 index 0000000..a217e92 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_hsb_h.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_hsb_s.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_hsb_s.png new file mode 100644 index 0000000..7826b41 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_hsb_s.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_indic.gif b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_indic.gif new file mode 100644 index 0000000..222fb94 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_indic.gif differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_rgb_b.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_rgb_b.png new file mode 100644 index 0000000..80764e5 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_rgb_b.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_rgb_g.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_rgb_g.png new file mode 100644 index 0000000..fc9778b Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_rgb_g.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_rgb_r.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_rgb_r.png new file mode 100644 index 0000000..91b0cd4 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_rgb_r.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_submit.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_submit.png new file mode 100644 index 0000000..cd202cd Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/custom_submit.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/select.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/select.png new file mode 100644 index 0000000..21213bf Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/select.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/select2.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/select2.png new file mode 100644 index 0000000..2cd2cab Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/select2.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/slider.png b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/slider.png new file mode 100644 index 0000000..8b03da9 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/images/slider.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/layout.css b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/css/layout.css new file mode 100644 index 0000000..e69de29 diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/colorpicker.js b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/colorpicker.js new file mode 100644 index 0000000..45f56ce --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/colorpicker.js @@ -0,0 +1,484 @@ +/** + * + * Color picker + * Author: Stefan Petre www.eyecon.ro + * + * Dual licensed under the MIT and GPL licenses + * + */ +(function ($) { + var ColorPicker = function () { + var + ids = {}, + inAction, + charMin = 65, + visible, + tpl = '
        ', + defaults = { + eventName: 'click', + onShow: function () {}, + onBeforeShow: function(){}, + onHide: function () {}, + onChange: function () {}, + onSubmit: function () {}, + color: 'ff0000', + livePreview: true, + flat: false + }, + fillRGBFields = function (hsb, cal) { + var rgb = HSBToRGB(hsb); + $(cal).data('colorpicker').fields + .eq(1).val(rgb.r).end() + .eq(2).val(rgb.g).end() + .eq(3).val(rgb.b).end(); + }, + fillHSBFields = function (hsb, cal) { + $(cal).data('colorpicker').fields + .eq(4).val(hsb.h).end() + .eq(5).val(hsb.s).end() + .eq(6).val(hsb.b).end(); + }, + fillHexFields = function (hsb, cal) { + $(cal).data('colorpicker').fields + .eq(0).val(HSBToHex(hsb)).end(); + }, + setSelector = function (hsb, cal) { + $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100})); + $(cal).data('colorpicker').selectorIndic.css({ + left: parseInt(150 * hsb.s/100, 10), + top: parseInt(150 * (100-hsb.b)/100, 10) + }); + }, + setHue = function (hsb, cal) { + $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10)); + }, + setCurrentColor = function (hsb, cal) { + $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb)); + }, + setNewColor = function (hsb, cal) { + $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb)); + }, + keyDown = function (ev) { + var pressedKey = ev.charCode || ev.keyCode || -1; + if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) { + return false; + } + var cal = $(this).parent().parent(); + if (cal.data('colorpicker').livePreview === true) { + change.apply(this); + } + }, + change = function (ev) { + var cal = $(this).parent().parent(), col; + if (this.parentNode.className.indexOf('_hex') > 0) { + cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value)); + } else if (this.parentNode.className.indexOf('_hsb') > 0) { + cal.data('colorpicker').color = col = fixHSB({ + h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10), + s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10), + b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10) + }); + } else { + cal.data('colorpicker').color = col = RGBToHSB(fixRGB({ + r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10), + g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10), + b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10) + })); + } + if (ev) { + fillRGBFields(col, cal.get(0)); + fillHexFields(col, cal.get(0)); + fillHSBFields(col, cal.get(0)); + } + setSelector(col, cal.get(0)); + setHue(col, cal.get(0)); + setNewColor(col, cal.get(0)); + cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]); + }, + blur = function (ev) { + var cal = $(this).parent().parent(); + cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus'); + }, + focus = function () { + charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65; + $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus'); + $(this).parent().addClass('colorpicker_focus'); + }, + downIncrement = function (ev) { + var field = $(this).parent().find('input').focus(); + var current = { + el: $(this).parent().addClass('colorpicker_slider'), + max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255), + y: ev.pageY, + field: field, + val: parseInt(field.val(), 10), + preview: $(this).parent().parent().data('colorpicker').livePreview + }; + $(document).bind('mouseup', current, upIncrement); + $(document).bind('mousemove', current, moveIncrement); + }, + moveIncrement = function (ev) { + ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10)))); + if (ev.data.preview) { + change.apply(ev.data.field.get(0), [true]); + } + return false; + }, + upIncrement = function (ev) { + change.apply(ev.data.field.get(0), [true]); + ev.data.el.removeClass('colorpicker_slider').find('input').focus(); + $(document).unbind('mouseup', upIncrement); + $(document).unbind('mousemove', moveIncrement); + return false; + }, + downHue = function (ev) { + var current = { + cal: $(this).parent(), + y: $(this).offset().top + }; + current.preview = current.cal.data('colorpicker').livePreview; + $(document).bind('mouseup', current, upHue); + $(document).bind('mousemove', current, moveHue); + }, + moveHue = function (ev) { + change.apply( + ev.data.cal.data('colorpicker') + .fields + .eq(4) + .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10)) + .get(0), + [ev.data.preview] + ); + return false; + }, + upHue = function (ev) { + fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + $(document).unbind('mouseup', upHue); + $(document).unbind('mousemove', moveHue); + return false; + }, + downSelector = function (ev) { + var current = { + cal: $(this).parent(), + pos: $(this).offset() + }; + current.preview = current.cal.data('colorpicker').livePreview; + $(document).bind('mouseup', current, upSelector); + $(document).bind('mousemove', current, moveSelector); + }, + moveSelector = function (ev) { + change.apply( + ev.data.cal.data('colorpicker') + .fields + .eq(6) + .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10)) + .end() + .eq(5) + .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10)) + .get(0), + [ev.data.preview] + ); + return false; + }, + upSelector = function (ev) { + fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + $(document).unbind('mouseup', upSelector); + $(document).unbind('mousemove', moveSelector); + return false; + }, + enterSubmit = function (ev) { + $(this).addClass('colorpicker_focus'); + }, + leaveSubmit = function (ev) { + $(this).removeClass('colorpicker_focus'); + }, + clickSubmit = function (ev) { + var cal = $(this).parent(); + var col = cal.data('colorpicker').color; + cal.data('colorpicker').origColor = col; + setCurrentColor(col, cal.get(0)); + cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el); + }, + show = function (ev) { + var cal = $('#' + $(this).data('colorpickerId')); + cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]); + var pos = $(this).offset(); + var viewPort = getViewport(); + var top = pos.top + this.offsetHeight; + var left = pos.left; + if (top + 176 > viewPort.t + viewPort.h) { + top -= this.offsetHeight + 176; + } + if (left + 356 > viewPort.l + viewPort.w) { + left -= 356; + } + cal.css({left: left + 'px', top: top + 'px'}); + if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) { + cal.show(); + } + $(document).bind('mousedown', {cal: cal}, hide); + return false; + }, + hide = function (ev) { + if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) { + if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) { + ev.data.cal.hide(); + } + $(document).unbind('mousedown', hide); + } + }, + isChildOf = function(parentEl, el, container) { + if (parentEl == el) { + return true; + } + if (parentEl.contains) { + return parentEl.contains(el); + } + if ( parentEl.compareDocumentPosition ) { + return !!(parentEl.compareDocumentPosition(el) & 16); + } + var prEl = el.parentNode; + while(prEl && prEl != container) { + if (prEl == parentEl) + return true; + prEl = prEl.parentNode; + } + return false; + }, + getViewport = function () { + var m = document.compatMode == 'CSS1Compat'; + return { + l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft), + t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop), + w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth), + h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight) + }; + }, + fixHSB = function (hsb) { + return { + h: Math.min(360, Math.max(0, hsb.h)), + s: Math.min(100, Math.max(0, hsb.s)), + b: Math.min(100, Math.max(0, hsb.b)) + }; + }, + fixRGB = function (rgb) { + return { + r: Math.min(255, Math.max(0, rgb.r)), + g: Math.min(255, Math.max(0, rgb.g)), + b: Math.min(255, Math.max(0, rgb.b)) + }; + }, + fixHex = function (hex) { + var len = 6 - hex.length; + if (len > 0) { + var o = []; + for (var i=0; i -1) ? hex.substring(1) : hex), 16); + return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)}; + }, + HexToHSB = function (hex) { + return RGBToHSB(HexToRGB(hex)); + }, + RGBToHSB = function (rgb) { + var hsb = { + h: 0, + s: 0, + b: 0 + }; + var min = Math.min(rgb.r, rgb.g, rgb.b); + var max = Math.max(rgb.r, rgb.g, rgb.b); + var delta = max - min; + hsb.b = max; + if (max != 0) { + + } + hsb.s = max != 0 ? 255 * delta / max : 0; + if (hsb.s != 0) { + if (rgb.r == max) { + hsb.h = (rgb.g - rgb.b) / delta; + } else if (rgb.g == max) { + hsb.h = 2 + (rgb.b - rgb.r) / delta; + } else { + hsb.h = 4 + (rgb.r - rgb.g) / delta; + } + } else { + hsb.h = -1; + } + hsb.h *= 60; + if (hsb.h < 0) { + hsb.h += 360; + } + hsb.s *= 100/255; + hsb.b *= 100/255; + return hsb; + }, + HSBToRGB = function (hsb) { + var rgb = {}; + var h = Math.round(hsb.h); + var s = Math.round(hsb.s*255/100); + var v = Math.round(hsb.b*255/100); + if(s == 0) { + rgb.r = rgb.g = rgb.b = v; + } else { + var t1 = v; + var t2 = (255-s)*v/255; + var t3 = (t1-t2)*(h%60)/60; + if(h==360) h = 0; + if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3} + else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3} + else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3} + else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3} + else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3} + else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3} + else {rgb.r=0; rgb.g=0; rgb.b=0} + } + return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)}; + }, + RGBToHex = function (rgb) { + var hex = [ + rgb.r.toString(16), + rgb.g.toString(16), + rgb.b.toString(16) + ]; + $.each(hex, function (nr, val) { + if (val.length == 1) { + hex[nr] = '0' + val; + } + }); + return hex.join(''); + }, + HSBToHex = function (hsb) { + return RGBToHex(HSBToRGB(hsb)); + }, + restoreOriginal = function () { + var cal = $(this).parent(); + var col = cal.data('colorpicker').origColor; + cal.data('colorpicker').color = col; + fillRGBFields(col, cal.get(0)); + fillHexFields(col, cal.get(0)); + fillHSBFields(col, cal.get(0)); + setSelector(col, cal.get(0)); + setHue(col, cal.get(0)); + setNewColor(col, cal.get(0)); + }; + return { + init: function (opt) { + opt = $.extend({}, defaults, opt||{}); + if (typeof opt.color == 'string') { + opt.color = HexToHSB(opt.color); + } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) { + opt.color = RGBToHSB(opt.color); + } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) { + opt.color = fixHSB(opt.color); + } else { + return this; + } + return this.each(function () { + if (!$(this).data('colorpickerId')) { + var options = $.extend({}, opt); + options.origColor = opt.color; + var id = 'collorpicker_' + parseInt(Math.random() * 1000); + $(this).data('colorpickerId', id); + var cal = $(tpl).attr('id', id); + if (options.flat) { + cal.appendTo(this).show(); + } else { + cal.appendTo(document.body); + } + options.fields = cal + .find('input') + .bind('keyup', keyDown) + .bind('change', change) + .bind('blur', blur) + .bind('focus', focus); + cal + .find('span').bind('mousedown', downIncrement).end() + .find('>div.colorpicker_current_color').bind('click', restoreOriginal); + options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector); + options.selectorIndic = options.selector.find('div div'); + options.el = this; + options.hue = cal.find('div.colorpicker_hue div'); + cal.find('div.colorpicker_hue').bind('mousedown', downHue); + options.newColor = cal.find('div.colorpicker_new_color'); + options.currentColor = cal.find('div.colorpicker_current_color'); + cal.data('colorpicker', options); + cal.find('div.colorpicker_submit') + .bind('mouseenter', enterSubmit) + .bind('mouseleave', leaveSubmit) + .bind('click', clickSubmit); + fillRGBFields(options.color, cal.get(0)); + fillHSBFields(options.color, cal.get(0)); + fillHexFields(options.color, cal.get(0)); + setHue(options.color, cal.get(0)); + setSelector(options.color, cal.get(0)); + setCurrentColor(options.color, cal.get(0)); + setNewColor(options.color, cal.get(0)); + if (options.flat) { + cal.css({ + position: 'relative', + display: 'block' + }); + } else { + $(this).bind(options.eventName, show); + } + } + }); + }, + showPicker: function() { + return this.each( function () { + if ($(this).data('colorpickerId')) { + show.apply(this); + } + }); + }, + hidePicker: function() { + return this.each( function () { + if ($(this).data('colorpickerId')) { + $('#' + $(this).data('colorpickerId')).hide(); + } + }); + }, + setColor: function(col) { + if (typeof col == 'string') { + col = HexToHSB(col); + } else if (col.r != undefined && col.g != undefined && col.b != undefined) { + col = RGBToHSB(col); + } else if (col.h != undefined && col.s != undefined && col.b != undefined) { + col = fixHSB(col); + } else { + return this; + } + return this.each(function(){ + if ($(this).data('colorpickerId')) { + var cal = $('#' + $(this).data('colorpickerId')); + cal.data('colorpicker').color = col; + cal.data('colorpicker').origColor = col; + fillRGBFields(col, cal.get(0)); + fillHSBFields(col, cal.get(0)); + fillHexFields(col, cal.get(0)); + setHue(col, cal.get(0)); + setSelector(col, cal.get(0)); + setCurrentColor(col, cal.get(0)); + setNewColor(col, cal.get(0)); + } + }); + } + }; + }(); + $.fn.extend({ + ColorPicker: ColorPicker.init, + ColorPickerHide: ColorPicker.hidePicker, + ColorPickerShow: ColorPicker.showPicker, + ColorPickerSetColor: ColorPicker.setColor + }); +})(jQuery) \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/global.js b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/global.js new file mode 100644 index 0000000..ee82d1e --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/global.js @@ -0,0 +1,148 @@ +/* +* + +Author - Abhin Sharma (WPTitans) +Description - Contains global functions + +This code cannot be used anywhere without the permission of the Author. + +* +*/ + + + +jQuery(function($){ + +/* ========================================================================================================= */ +/* ================================= Code to invoke default WP Uploader ==================================== */ +/* ========================================================================================================= */ + +var pID = jQuery('#post_ID').val(),ed, + temp,wp_default_send_to_editor, override = false; + +// Listen to click for upload +jQuery('.custom_upload_image_button').live('click', + function (e) { + temp = jQuery(this); + override = true; // notify we are using the uploading system + + wp_default_send_to_editor = window.send_to_editor; + window.send_to_editor = function (html) { + + if(override==true) { + imgurl = jQuery('img', html).attr('src'); + temp.prev().val(imgurl); + override = false; + } + else { + wp_default_send_to_editor(html); + } + + tb_remove(); + + } + +tb_show('', 'media-upload.php?post_id='+pID+'&TB_iframe=true&type=image'); +return false; + + + }); + +/* ========================================================================================================= */ +/* ========================================= Widget Skinning Code ========================================== */ +/* ========================================================================================================= */ + +if($(".hades-custom").length>0) +$(".hades-custom").parents(".widget").addClass("hades-widget-custom"); + +/* ========================================================================================================= */ +/* ========================================= Delete the parent ============================================= */ +/* ========================================================================================================= */ + + +$(".uploaded-fonts a.delete , .sidebarmanager .active-sidebars a.delete , .sidebarmanager .inactive-sidebars a.delete").live("click",function(e){ + $(this).parent().remove(); + e.preventDefault(); + }); + + +/* ========================================================================================================= */ +/* =========================================== Sidebar Code ================================================ */ +/* ========================================================================================================= */ + +if($(".sidebarmanager .active-sidebars").length>0) { + + $(".sidebarmanager .active-sidebars").sortable({ placeholder:'sidebar-holder' ,connectWith: '.inactive-sidebars' + , stop: function(event, ui) { ui.item.find("input").attr("name","inactive_sidebars[]"); } + }); + $(".sidebarmanager .inactive-sidebars").sortable({ placeholder:'sidebar-holder' , connectWith: '.active-sidebars' + , stop: function(event, ui) { ui.item.find("input").attr("name","active_sidebars[]"); } + }); + + $(".add-sidebar-button").click(function(){ + + if(jQuery.trim($("#sidebar_name").val())=="") + return; + + $(".active-sidebars").prepend("
      • "+$("#sidebar_name").val()+"
      • "); + $("#sidebar_name").val("") + }); + } + + +$(".import_shortcode").live("click",function(){ + + ed = tinyMCE.activeEditor; + ed.focus(); + ed.execCommand('mceInsertContent', false, $(this).prev().val()); + + }); + +$(".done_shortcode").live("click",function(){ + + + if($(".shortcode_value").val()=="image") + { + var temp = jQuery("#TB_ajaxContent"),button = "[button border_radius='"+$("#shortcode_border_radius").val()+"' bg_color='"+rgb2hex(temp.find("#bgcolorSelector>div").css("background-color"))+"' color='"+rgb2hex(temp.find("#colorSelector>div").css("background-color"))+"' to='"+temp.find("#shortcode_link").val()+"' style='"+temp.find("#button-styler").val()+"'] "+temp.find("#button_title").val()+" [/button] "; + + ed = tinyMCE.activeEditor; + ed.focus(); + ed.execCommand('mceInsertContent', false, button); + } + else if($(".shortcode_value").val()=="list") + { + var temp = jQuery("#TB_ajaxContent"),button = "[list style='"+temp.find("#shortcode-list-preview").val()+"'] insert your list [/list] "; + + ed = tinyMCE.activeEditor; + ed.focus(); + ed.execCommand('mceInsertContent', false, button); + } + else if($(".shortcode_value").val()=="contact") + { + var temp = jQuery("#TB_ajaxContent"),form = "[contactform id='"+temp.find("#shortcode-contact-preview").val()+"' /] "; + ed = tinyMCE.activeEditor; + ed.focus(); + ed.execCommand('mceInsertContent', false, form); + } + + tb_remove(); + + }); + + +$("#shortcode-list-preview").live("change",function(){ + + $("#list-preview").removeClass(); + $("#list-preview").addClass($(this).val()+" styled"); + + }) + +}); + +function rgb2hex(rgb){ + rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); + return "#" + + ("0" + parseInt(rgb[1],10).toString(16)).slice(-2) + + ("0" + parseInt(rgb[2],10).toString(16)).slice(-2) + + ("0" + parseInt(rgb[3],10).toString(16)).slice(-2); +} \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/hades_script.js b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/hades_script.js new file mode 100644 index 0000000..20237a4 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/hades_script.js @@ -0,0 +1,470 @@ +/* +* + +Author - Abhin Sharma (WPTitans) +This code cannot be used anywhere without the permission of the Author. + +* +*/ + +/* ========================================================================================================= */ +/* ================================= Code to invoke default WP Uploader ==================================== */ +/* ========================================================================================================= */ + +jQuery(function($) { + var temp,radio = $(".radio"),path = $("#option_path").val(); + var loading_icon = $(".ajax_loading_icon"); + + $(".admin-button").click(function(e){ + $(".success_message").css({ "visibility":"hidden" , "opacity":0 , "height":0 }); + + $('html, body').animate({scrollTop:0}, 'normal',function(){ + loading_icon.css("visibility","visible").animate({ opacity: 1 },"slow"); + + $.post( path , { action:"save" , values: $("#hades_option_form").serializeArray() }, + function(data){ + + + loading_icon.animate({ opacity: 0 },"slow", function(){ + $(this).css("visibility","hidden") + $(".success_message").css("visibility","visible").animate({ opacity:1 , height:40 },"slow"); + + }); + } + ); + + }); + + return false; + }); + + + $(".panel-reset").click(function(e){ + $(".reset-form").submit(); + e.preventDefault(); + }); + $( "#hades_opts" ).tabs({ fx: { opacity: 'toggle' } }); + + + + $('.hades_input select').selectmenu(); + radio.buttonset(); + + + radio.find("input[type=radio]" ).each(function(){ + temp = $(this); + if(temp.is(":checked")) { + if(temp.next().children("span").html()=="ON") + temp.parent('.ui-buttonset').removeClass('on').addClass('off'); + else + temp.parent('.ui-buttonset').removeClass('off').addClass('on'); + + } + }); + + radio.find("label" ).click(function(){ + if($(this).children("span").html()=="ON") + $(this).parent('.ui-buttonset').removeClass('on').addClass('off'); + else + $(this).parent('.ui-buttonset').removeClass('off').addClass('on'); + + }); + + + $( ".hades_input .hades_slider" ).each(function(){ + temp = $(this); + temp.slider({ + value: parseInt(temp.parent().find(".slider-val").val()), + min: 0, + max: parseInt(temp.parent().find(".max-slider-val").val()), + + slide: function( event, ui ) { + $(this).parent().find(".slider-text").val(ui.value); + } + }); + + }); + + + + $('.colorpickerField1').ColorPicker({ + + onSubmit: function(hsb, hex, rgb, el) { + + $(el).val(hex); + + $(el).ColorPickerHide(); + + }, + + onBeforeShow: function () { + temp = this; + $(this).ColorPickerSetColor(this.value); + + }, + + onShow: function (colpkr) { + $(colpkr).fadeIn(500); + return false; + }, + onHide: function (colpkr) { + $(colpkr).fadeOut(300); + return false; + }, + onChange: function (hsb, hex, rgb,el) { + $(temp).val(hex); + } + +}) + +.bind('keyup', function(){ + + $(this).ColorPickerSetColor(this.value); + +}); + +$(".cicon").click(function(){ $(this).prev().trigger('click'); }); + + + + + }); + + + +jQuery.fn.selectmenu = function(settings){ + + return jQuery(this).each(function(){ + //reference to this + var selectElement = jQuery(this); + + //config + var o = jQuery.extend({ + maxHeight: 300, + format: function(text){return text;} + }, settings); + + //add role to body CHECK IF IT HAS A ROLE FIRST + jQuery('body').attr('role','application'); + + //get select ID + var selectElementId = selectElement.attr('id'); + + //get initial selected index + var initialSelectedIndex = selectElement[0].selectedIndex; + + //get the selected option's text value + var selectedOptionText = selectElement.find('option').eq(initialSelectedIndex).text(); + var selectedOptionClass = selectElement.find('option').eq(initialSelectedIndex).attr('class') || ''; + + //supporting regex + var selectedOptionText = o.format(selectedOptionText); + + //get array of all select option classes, for quick removal + var allOptionClasses = selectElement.find('option') + //convert option classes to array + .map(function(){ return jQuery(this).attr('class') }) + //join array into string of classes separated by a space + .get().join(' '); + + //create IDs for button, menu + var buttonID = selectElement.attr('id') + '-button'; + var menuID = selectElement.attr('id') + '-menu'; + + //create empty menu button + var button = jQuery(''); + + //menu icon + var selectmenuStatus = jQuery(''+ selectedOptionText +'').appendTo(button); + var selectmenuIcon = jQuery('').appendTo(button); + var roleText = jQuery(' select').appendTo(button); + + //add selected option class + button.addClass(selectedOptionClass); + + //insert button after select + button.insertAfter(selectElement); + + //transfer tabindex from select, if it has one + if(selectElement.is('[tabindex]')){ + button.attr('tabindex', selectElement.attr('tabindex')); + } + + //associate form label to new button + jQuery('label[for='+selectElement.attr('id')+']') + .attr('for', buttonID) + .bind('click', function(){ + button.focus(); + return false; + }); + + //create menu ul + var menu = jQuery(''); + + + //find all option elements in selectElement + selectElement.find('option') + //iterate through each option element, tracking the index + .each(function(index){ + //create li with option's text and class attribute + var li = jQuery('
      • '+ o.format(jQuery(this).text()) +'
      • '); + + //check if option is selected + if(index == initialSelectedIndex){ + //add selected attributes + li.addClass('selected') + .attr('aria-selected',true); + } + //append li to menu + + li.appendTo(menu); + li.find("a").click(function(e){ e.preventDefault(); }); + }); + + //append menu to end of page (still visual) + menu.appendTo('body'); + + menu.find("li:last").css("border-bottom","none"); + //set height of menu, if needed for overflow (in book, we can hardcode maxHeight to 300 here) + if(menu.outerHeight() > o.maxHeight){ + menu.height(o.maxHeight); + } + + //hide menu + menu.addClass('custom-select-menu-hidden'); + + + + //EVENTS + + + //custom events + + //custom show event + menu.bind('show',function(){ + jQuery(this) + //reappend to body + .appendTo('body') + //remove hidden class + .removeClass('custom-select-menu-hidden') + //remove aria hidden attribute + .attr('aria-hidden', false) + //position the menu under the button + .css({ + top: button.offset().top + button.height(), + left: button.offset().left + }) + //send focus to the selected option + .find('.selected a').eq(0).focus(); + + //add open class from button + button.addClass('custom-select-open'); + }); + + + + + //custom hide event + menu.bind('hide',function(){ + //remove open class from button + button.removeClass('custom-select-open'); + + jQuery(this) + //remove hidden class + .addClass('custom-select-menu-hidden') + //remove aria hidden attribute + .attr('aria-hidden', true); + }); + + // + menu.bind('toggle', function(){ + //if the menu is hidden show it + if(menu.is(':hidden')){ + menu.trigger('show'); + } + else{ + menu.trigger('hide'); + } + }); + + + + //event to update select menu with current selection (proxy to select) + menu.find('a').bind('select',function(){ + + //deselect previous option in menu + menu + .find('li.selected') + .removeClass('selected') + .attr('aria-selected', false); + + //get new selected li's class attribute + var newListItemClass = jQuery(this).parent().attr('class'); + + //update button icon class to match this li + button.removeClass(allOptionClasses).addClass( newListItemClass ); + + //update button text this anchor's content + selectmenuStatus.html( jQuery(this).html() ); + + //update this list item's selected attributes + jQuery(this) + .parent() + .addClass('selected') + .attr('aria-selected', true); + + //hide menu + menu.trigger('hide'); + + //update the native select with the new selection + selectElement[0].selectedIndex = menu.find('a').index(this); + }); + + + + + //specific events + + + //apply click to button + button.mousedown(function(){ + menu.trigger('toggle'); + return false; + }); + + + + + //disable click event (use mousedown/up instead) + button.click(function(e){ return false; }); + + + //apply mouseup event to menu, for making selections + //allows us to drag and release + menu.find('a').mouseup(function(event){ + jQuery(this).trigger('select'); + //prevent browser scroll + return false; + }); + + + + + + //bind click to document for hiding menu + jQuery(document).click(function(){ menu.trigger('hide'); }); + + + + + //hover and focus states + menu.find('a').bind('mouseover focus',function(){ + //remove class from previous hover-focused option + menu.find('.hover-focus').removeClass('hover-focus'); + //add class to this option + jQuery(this).parent().addClass('hover-focus'); + }) + .bind('mouseout blur',function(){ + //remove class from this option + jQuery(this).parent().removeClass('hover-focus'); + }); + + + + //keyboard events + + + //keydown events for menu + menu.keydown(function(event){ + //switch logic based on which key was pressed + switch(event.keyCode){ + //up or left arrow keys + case 37: + case 38: + //if there's a previous option, focus it + if( jQuery(event.target).parent().prev().length ){ + jQuery(event.target).parent().prev().find('a').eq(0).focus(); + } + //prevent native scroll + return false; + break; + //down or right arrow keys + case 39: + case 40: + //if there's a next option, focus it + if( jQuery(event.target).parent().next().length ){ + jQuery(event.target).parent().next().find('a').eq(0).focus(); + } + //prevent native scroll + return false; + break; + //if enter or space is pressed in menu, trigger mouseup + case 13: + case 32: + jQuery(event.target).trigger('select'); //should trigger select + button.eq(0).focus(); + return false; + break; + //tab returns focus to the menu button, and then automatically shifts focus to the next focusable element on the page + case 9: + menu.trigger('hide'); + button.eq(0).focus(); + break; + } + + }); + + + + //if enter or space is pressed in menu, trigger mousedown + button.keydown(function(event){ + //find selected list item in menu + var currentSelectedLi = menu.find('li').eq( jQuery('select')[0].selectedIndex ); + //handle different key events + switch(event.keyCode){ + //up or left arrow keys + case 37: + case 38: + //if there's a previous option, focus it + if( currentSelectedLi.prev().length ){ + currentSelectedLi.prev().find('a').trigger('select'); + } + //prevent native scroll + return false; + break; + //down or right arrow keys + case 39: + case 40: + //if there's a next option, focus it + if( currentSelectedLi.next().length ){ + currentSelectedLi.next().find('a').trigger('select'); + } + //prevent native scroll + return false; + break; + //if enter or space is pressed in menu, trigger mousedown to select item + case 13: + case 32: + menu.trigger('toggle'); + return false; + break; + } + }); + + + + + /*type ahead goes here*/ + + + + + + + //hide native select + selectElement.addClass('select-hidden').attr('aria-hidden', true); + + + }); +}; + diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/hsticky_menu.js b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/hsticky_menu.js new file mode 100644 index 0000000..85ebea6 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/hsticky_menu.js @@ -0,0 +1,238 @@ +// JavaScript Document + +jQuery(function($){ + var temp, type ; + $(".h_stickymenu_box input[type=checkbox]").live("click",function(){ + temp = $(this); + if(temp.is(":checked")) + { + temp.parents("li.menu-item").find(".item-type-hmenu").show(); + // menu-item-data-parent-id + type = temp.parent().find("select").val(); + + if(type="column") + { + set_column_tree(temp.parents("li.menu-item")); + } + + } + else + { + temp.parents("li.menu-item").find(".item-type-hmenu").hide(); + restruct_tree(temp.parents("li.menu-item")); + } + + }); + + + + $(".enable_textbox").live("click",function(){ + temp = $(this); + if(temp.is(":checked")) + { + temp.next().fadeIn("normal"); + + } + else + { + temp.next().hide(); + } + + }); + + + $("#menu-to-edit").find(".menu-item").each(function(){ + if(!$(this).hasClass("menu-item-depth-0")) + { + $(this).find(".h_stickymenu_box").hide(); + $(this).find(".item-type-hmenu").hide(); + if($(this).find(".h_stickymenu_box input[type=checkbox]").is(":checked")) + { + $(this).find(".h_stickymenu_box input[type=checkbox]").removeAttr("checked"); + } + } + else + { + type = $(this).find("select").val(); + + if(type="column") + { + set_column_tree($(this)); + + } + + + $(this).find(".h_stickymenu_box").show(); + $(this).find(".h_stickymenu_row_box").hide(); + // $(this).find(".item-type-hmenu").show(); + } + }); + + + + $(".h_stickymenu_box input[type=checkbox]").each(function(){ + + if($(this).is(":checked")) + $(this).parents("li.menu-item").find(".item-type-hmenu").show(); + }); + + $("#menu-to-edit").bind( "sortstop", function(event, ui) { + temp = $(this); + + type = $(this).find(".h_stickymenu_box select").val(); + + var flag=false,dragel = ui; + + + setTimeout(function(){ + + var pindex = "#menu-item-"+($(dragel.item).find(".menu-item-data-parent-id").val()); + + if( $(pindex).find(".h_stickymenu_box input[type=checkbox]").is(":checked") ) + flag = true; + else + flag = false; + + + temp.find(".menu-item").each(function(){ + + + if(!$(this).hasClass("menu-item-depth-0")) + { + + if(flag==true) + { + $(this).find(".h_stickymenu_box").hide(); + $(this).find(".item-type-hmenu").hide(); + if($(this).find(".h_stickymenu_box input[type=checkbox]").is(":checked")) + { + $(this).find(".h_stickymenu_box input[type=checkbox]").removeAttr("checked"); + } + + $(this).find(".h_stickymenu_row_box").show(); + $(this).find(".item-type-h-column").show(); + } + else + { + $(this).find(".h_stickymenu_box").hide(); + } + + } + else + { + $(this).find(".h_stickymenu_row_box").hide(); + $(this).find(".h_stickymenu_box").show(); + $(this).find(".item-type-h-column").hide(); + // $(this).find(".item-type-hmenu").show(); + + if($(this).find(".h_stickymenu_row_box input[type=checkbox]").is(":checked")) + { + $(this).find(".h_stickymenu_row_box input[type=checkbox]").removeAttr("checked"); + } + + } + + if($(this).hasClass("menu-item-depth-2")) + { + $(this).find(".h_stickymenu_row_box").hide(); + $(this).find(".item-type-h-column").hide(); + $(this).find(".h_stickymenu_box").hide(); + $(this).find(".item-type-hmenu").hide(); + + if($(this).find(".h_stickymenu_row_box input[type=checkbox]").is(":checked")) + { + $(this).find(".h_stickymenu_row_box input[type=checkbox]").removeAttr("checked"); + } + if($(this).find(".h_stickymenu_box input[type=checkbox]").is(":checked")) + { + $(this).find(".h_stickymenu_box input[type=checkbox]").removeAttr("checked"); + } + } + + }); + },500); + +}); + +function set_column_tree(parent) +{ + var test,obj,id = parent.attr("id"); + if(parent.find(".h_stickymenu_box input[type=checkbox]").is(":checked")) + { + + $("#menu-to-edit").find(".menu-item").each(function(){ + obj = $(this); + test = parseInt($(this).find(".menu-item-data-parent-id").val()); + if(test>0) + { + test = "menu-item-"+test; + if(id==test) + { + obj.find(".item-type-h-column").show(); + obj.find(".h_stickymenu_row_box").show(); + } + } + + }); + + } +} + + +function restruct_tree(parent) +{ + var test,obj,id = parent.attr("id"); + + + $("#menu-to-edit").find(".menu-item").each(function(){ + obj = $(this); + test = parseInt($(this).find(".menu-item-data-parent-id").val()); + if(test>0) + { + test = "menu-item-"+test; + if(id==test) + { + obj.find(".item-type-h-column").hide(); + obj.find(".h_stickymenu_row_box").hide(); + } + } + + }); + +} + + if(typeof wpNavMenu != 'undefined'){ + + wpNavMenu.addItemToMenu = function(menuItem, processMethod, callback) { + var menu = $('#menu').val(), + nonce = $('#menu-settings-column-nonce').val(); + + processMethod = processMethod || function(){}; + callback = callback || function(){}; + + params = { + 'action': 'H_StickyMenu_AJAX_Menu', + 'menu': menu, + 'menu-settings-column-nonce': nonce, + 'menu-item': menuItem + }; + + $.post( ajaxurl, params, function(menuMarkup) { + var ins = $('#menu-instructions'); + + + + processMethod(menuMarkup, params); + if( ! ins.hasClass('menu-instructions-inactive') && ins.siblings().length ) + ins.addClass('menu-instructions-inactive'); + callback(); + + + }); + }; + + } + + + + }); \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.js b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.js new file mode 100644 index 0000000..347d7af --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.js @@ -0,0 +1,16 @@ +/*! + * jQuery JavaScript Library v1.6 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon May 2 13:50:00 2011 -0400 + */ +(function(a,b){function cw(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function ct(a){if(!ch[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ci||(ci=c.createElement("iframe"),ci.frameBorder=ci.width=ci.height=0),c.body.appendChild(ci);if(!cj||!ci.createElement)cj=(ci.contentWindow||ci.contentDocument).document,cj.write("");b=cj.createElement(a),cj.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ci)}ch[a]=d}return ch[a]}function cs(a,b){var c={};f.each(cn.concat.apply([],cn.slice(0,b)),function(){c[this]=a});return c}function cr(){co=b}function cq(){setTimeout(cr,0);return co=f.now()}function cg(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function cf(){try{return new a.XMLHttpRequest}catch(b){}}function b_(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){name="data-"+c.replace(j,"$1-$2").toLowerCase(),d=a.getAttribute(name);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(e){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?g=[null,a,null]:g=i.exec(a);if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement, \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.autocomplete.js b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.autocomplete.js new file mode 100644 index 0000000..8b989b2 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.autocomplete.js @@ -0,0 +1,524 @@ + /* + * jQuery UI selectmenu + * + * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI + */ + +(function($) { + +$.widget("ui.selectmenu", { + _init: function() { + var self = this, o = this.options; + + //quick array of button and menu id's + this.ids = [this.element.attr('id') + '-' + 'button', this.element.attr('id') + '-' + 'menu']; + + //define safe mouseup for future toggling + this._safemouseup = true; + + //create menu button wrapper + this.newelement = $('') + .insertAfter(this.element); + + //transfer tabindex + var tabindex = this.element.attr('tabindex'); + if(tabindex){ this.newelement.attr('tabindex', tabindex); } + + //save reference to select in data for ease in calling methods + this.newelement.data('selectelement', this.element); + + //menu icon + this.selectmenuIcon = $('') + .prependTo(this.newelement) + .addClass( (o.style == "popup")? 'ui-icon-triangle-2-n-s' : 'ui-icon-triangle-1-s' ); + + + //make associated form label trigger focus + $('label[for='+this.element.attr('id')+']') + .attr('for', this.ids[0]) + .bind('click', function(){ + self.newelement[0].focus(); + return false; + }); + + //click toggle for menu visibility + this.newelement + .bind('mousedown', function(event){ + self._toggle(event); + //make sure a click won't open/close instantly + if(o.style == "popup"){ + self._safemouseup = false; + setTimeout(function(){self._safemouseup = true;}, 300); + } + return false; + }) + .bind('click',function(){ + return false; + }) + .keydown(function(event){ + var ret = true; + switch (event.keyCode) { + case $.ui.keyCode.ENTER: + ret = true; + break; + case $.ui.keyCode.SPACE: + ret = false; + self._toggle(event); + break; + case $.ui.keyCode.UP: + case $.ui.keyCode.LEFT: + ret = false; + self._moveSelection(-1); + break; + case $.ui.keyCode.DOWN: + case $.ui.keyCode.RIGHT: + ret = false; + self._moveSelection(1); + break; + case $.ui.keyCode.TAB: + ret = true; + break; + default: + ret = false; + self._typeAhead(event.keyCode, 'mouseup'); + break; + } + return ret; + }) + .bind('mouseover focus', function(){ + $(this).addClass(self.widgetBaseClass+'-focus ui-state-hover'); + }) + .bind('mouseout blur', function(){ + $(this).removeClass(self.widgetBaseClass+'-focus ui-state-hover'); + }); + + //document click closes menu + $(document) + .mousedown(function(event){ + self.close(event); + }); + + //change event on original selectmenu + this.element + .click(function(){ this._refreshValue(); }) + .focus(function(){ this.newelement[0].focus(); }); + + //create menu portion, append to body + var cornerClass = (o.style == "dropdown")? " ui-corner-bottom" : " ui-corner-all" + this.list = $('').appendTo('body'); + + //serialize selectmenu element options + var selectOptionData = []; + this.element + .find('option') + .each(function(){ + selectOptionData.push({ + value: $(this).attr('value'), + text: self._formatText(jQuery(this).text()), + selected: $(this).attr('selected'), + classes: $(this).attr('class'), + parentOptGroup: $(this).parent('optgroup').attr('label') + }); + }); + + //active state class is only used in popup style + var activeClass = (self.options.style == "popup") ? " ui-state-active" : ""; + + //write li's + for(var i in selectOptionData){ + var thisLi = $('
      • '+ selectOptionData[i].text +'
      • ') + .data('index',i) + .addClass(selectOptionData[i].classes) + .data('optionClasses', selectOptionData[i].classes|| '') + .mouseup(function(event){ + if(self._safemouseup){ + var changed = $(this).data('index') != self._selectedIndex(); + self.value($(this).data('index')); + self.select(event); + if(changed){ self.change(event); } + self.close(event,true); + } + return false; + }) + .click(function(){ + return false; + }) + .bind('mouseover focus', function(){ + self._selectedOptionLi().addClass(activeClass); + self._focusedOptionLi().removeClass(self.widgetBaseClass+'-item-focus ui-state-hover'); + $(this).removeClass('ui-state-active').addClass(self.widgetBaseClass + '-item-focus ui-state-hover'); + }) + .bind('mouseout blur', function(){ + if($(this).is( self._selectedOptionLi() )){ $(this).addClass(activeClass); } + $(this).removeClass(self.widgetBaseClass + '-item-focus ui-state-hover'); + }); + + //optgroup or not... + if(selectOptionData[i].parentOptGroup){ + var optGroupName = self.widgetBaseClass + '-group-' + selectOptionData[i].parentOptGroup; + if(this.list.find('li.' + optGroupName).size()){ + this.list.find('li.' + optGroupName + ':last ul').append(thisLi); + } + else{ + $('') + .appendTo(this.list) + .find('ul') + .append(thisLi); + } + } + else{ + thisLi.appendTo(this.list); + } + + //this allows for using the scrollbar in an overflowed list + this.list.bind('mousedown mouseup', function(){return false;}); + + //append icon if option is specified + if(o.icons){ + for(var j in o.icons){ + if(thisLi.is(o.icons[j].find)){ + thisLi + .data('optionClasses', selectOptionData[i].classes + ' ' + self.widgetBaseClass + '-hasIcon') + .addClass(self.widgetBaseClass + '-hasIcon'); + var iconClass = o.icons[j].icon || ""; + + thisLi + .find('a:eq(0)') + .prepend(''); + } + } + } + } + + //add corners to top and bottom menu items + this.list.find('li:last').addClass("ui-corner-bottom"); + if(o.style == 'popup'){ this.list.find('li:first').addClass("ui-corner-top"); } + + //transfer classes to selectmenu and list + if(o.transferClasses){ + var transferClasses = this.element.attr('class') || ''; + this.newelement.add(this.list).addClass(transferClasses); + } + + //original selectmenu width + var selectWidth = this.element.width(); + + //set menu button width + this.newelement.width( (o.width) ? o.width : selectWidth); + + //set menu width to either menuWidth option value, width option value, or select width + if(o.style == 'dropdown'){ this.list.width( (o.menuWidth) ? o.menuWidth : ((o.width) ? o.width : selectWidth)); } + else { this.list.width( (o.menuWidth) ? o.menuWidth : ((o.width) ? o.width - o.handleWidth : selectWidth - o.handleWidth)); } + + //set max height from option + if(o.maxHeight && o.maxHeight < this.list.height()){ this.list.height(o.maxHeight); } + + //save reference to actionable li's (not group label li's) + this._optionLis = this.list.find('li:not(.'+ self.widgetBaseClass +'-group)'); + + //transfer menu click to menu button + this.list + .keydown(function(event){ + var ret = true; + switch (event.keyCode) { + case $.ui.keyCode.UP: + case $.ui.keyCode.LEFT: + ret = false; + self._moveFocus(-1); + break; + case $.ui.keyCode.DOWN: + case $.ui.keyCode.RIGHT: + ret = false; + self._moveFocus(1); + break; + case $.ui.keyCode.HOME: + ret = false; + self._moveFocus(':first'); + break; + case $.ui.keyCode.PAGE_UP: + ret = false; + self._scrollPage('up'); + break; + case $.ui.keyCode.PAGE_DOWN: + ret = false; + self._scrollPage('down'); + break; + case $.ui.keyCode.END: + ret = false; + self._moveFocus(':last'); + break; + case $.ui.keyCode.ENTER: + case $.ui.keyCode.SPACE: + ret = false; + self.close(event,true); + $(event.target).parents('li:eq(0)').trigger('mouseup'); + break; + case $.ui.keyCode.TAB: + ret = true; + self.close(event,true); + break; + case $.ui.keyCode.ESCAPE: + ret = false; + self.close(event,true); + break; + default: + ret = false; + self._typeAhead(event.keyCode,'focus'); + break; + } + return ret; + }); + + //selectmenu style + if(o.style == 'dropdown'){ + this.newelement + .addClass(self.widgetBaseClass+"-dropdown"); + this.list + .addClass(self.widgetBaseClass+"-menu-dropdown"); + } + else { + this.newelement + .addClass(self.widgetBaseClass+"-popup"); + this.list + .addClass(self.widgetBaseClass+"-menu-popup"); + } + + //append status span to button + this.newelement.prepend(''+ selectOptionData[this._selectedIndex()].text +''); + + //hide original selectmenu element + this.element.hide(); + + //transfer disabled state + if(this.element.attr('disabled') == true){ this.disable(); } + + //update value + this.value(this._selectedIndex()); + }, + destroy: function() { + this.element.removeData(this.widgetName) + .removeClass(this.widgetBaseClass + '-disabled' + ' ' + this.namespace + '-state-disabled') + .removeAttr('aria-disabled'); + + //unbind click on label, reset its for attr + $('label[for='+this.newelement.attr('id')+']') + .attr('for',this.element.attr('id')) + .unbind('click'); + this.newelement.remove(); + this.list.remove(); + this.element.show(); + }, + _typeAhead: function(code, eventType){ + var self = this; + //define self._prevChar if needed + if(!self._prevChar){ self._prevChar = ['',0]; } + var C = String.fromCharCode(code); + c = C.toLowerCase(); + var focusFound = false; + function focusOpt(elem, ind){ + focusFound = true; + $(elem).trigger(eventType); + self._prevChar[1] = ind; + }; + this.list.find('li a').each(function(i){ + if(!focusFound){ + var thisText = $(this).text(); + if( thisText.indexOf(C) == 0 || thisText.indexOf(c) == 0){ + if(self._prevChar[0] == C){ + if(self._prevChar[1] < i){ focusOpt(this,i); } + } + else{ focusOpt(this,i); } + } + } + }); + this._prevChar[0] = C; + }, + _uiHash: function(){ + return { + value: this.value() + }; + }, + open: function(event){ + var self = this; + var disabledStatus = this.newelement.attr("aria-disabled"); + if(disabledStatus != 'true'){ + this._refreshPosition(); + this._closeOthers(event); + this.newelement + .addClass('ui-state-active'); + + this.list + .appendTo('body') + .addClass(self.widgetBaseClass + '-open') + .attr('aria-hidden', false) + .find('li:not(.'+ self.widgetBaseClass +'-group):eq('+ this._selectedIndex() +') a')[0].focus(); + if(this.options.style == "dropdown"){ this.newelement.removeClass('ui-corner-all').addClass('ui-corner-top'); } + this._refreshPosition(); + this._trigger("open", event, this._uiHash()); + } + }, + close: function(event, retainFocus){ + if(this.newelement.is('.ui-state-active')){ + this.newelement + .removeClass('ui-state-active'); + this.list + .attr('aria-hidden', true) + .removeClass(this.widgetBaseClass+'-open'); + if(this.options.style == "dropdown"){ this.newelement.removeClass('ui-corner-top').addClass('ui-corner-all'); } + if(retainFocus){this.newelement[0].focus();} + this._trigger("close", event, this._uiHash()); + } + }, + change: function(event) { + this.element.trigger('change'); + this._trigger("change", event, this._uiHash()); + }, + select: function(event) { + this._trigger("select", event, this._uiHash()); + }, + _closeOthers: function(event){ + $('.'+ this.widgetBaseClass +'.ui-state-active').not(this.newelement).each(function(){ + $(this).data('selectelement').selectmenu('close',event); + }); + $('.'+ this.widgetBaseClass +'.ui-state-hover').trigger('mouseout'); + }, + _toggle: function(event,retainFocus){ + if(this.list.is('.'+ this.widgetBaseClass +'-open')){ this.close(event,retainFocus); } + else { this.open(event); } + }, + _formatText: function(text){ + return this.options.format ? this.options.format(text) : text; + }, + _selectedIndex: function(){ + return this.element[0].selectedIndex; + }, + _selectedOptionLi: function(){ + return this._optionLis.eq(this._selectedIndex()); + }, + _focusedOptionLi: function(){ + return this.list.find('.'+ this.widgetBaseClass +'-item-focus'); + }, + _moveSelection: function(amt){ + var currIndex = parseInt(this._selectedOptionLi().data('index'), 10); + var newIndex = currIndex + amt; + return this._optionLis.eq(newIndex).trigger('mouseup'); + }, + _moveFocus: function(amt){ + if(!isNaN(amt)){ + var currIndex = parseInt(this._focusedOptionLi().data('index'), 10); + var newIndex = currIndex + amt; + } + else { var newIndex = parseInt(this._optionLis.filter(amt).data('index'), 10); } + + if(newIndex < 0){ newIndex = 0; } + if(newIndex > this._optionLis.size()-1){ + newIndex = this._optionLis.size()-1; + } + var activeID = this.widgetBaseClass + '-item-' + Math.round(Math.random() * 1000); + + this._focusedOptionLi().find('a:eq(0)').attr('id',''); + this._optionLis.eq(newIndex).find('a:eq(0)').attr('id',activeID)[0].focus(); + this.list.attr('aria-activedescendant', activeID); + }, + _scrollPage: function(direction){ + var numPerPage = Math.floor(this.list.outerHeight() / this.list.find('li:first').outerHeight()); + numPerPage = (direction == 'up') ? -numPerPage : numPerPage; + this._moveFocus(numPerPage); + }, + _setData: function(key, value) { + this.options[key] = value; + if (key == 'disabled') { + this.close(); + this.element + .add(this.newelement) + .add(this.list) + [value ? 'addClass' : 'removeClass']( + this.widgetBaseClass + '-disabled' + ' ' + + this.namespace + '-state-disabled') + .attr("aria-disabled", value); + } + }, + value: function(newValue) { + if (arguments.length) { + this.element[0].selectedIndex = newValue; + this._refreshValue(); + this._refreshPosition(); + } + return this.element[0].selectedIndex; + }, + _refreshValue: function() { + var activeClass = (this.options.style == "popup") ? " ui-state-active" : ""; + var activeID = this.widgetBaseClass + '-item-' + Math.round(Math.random() * 1000); + //deselect previous + this.list + .find('.'+ this.widgetBaseClass +'-item-selected') + .removeClass(this.widgetBaseClass + "-item-selected" + activeClass) + .find('a') + .attr('aria-selected', 'false') + .attr('id', ''); + //select new + this._selectedOptionLi() + .addClass(this.widgetBaseClass + "-item-selected"+activeClass) + .find('a') + .attr('aria-selected', 'true') + .attr('id', activeID); + + //toggle any class brought in from option + var currentOptionClasses = this.newelement.data('optionClasses') ? this.newelement.data('optionClasses') : ""; + var newOptionClasses = this._selectedOptionLi().data('optionClasses') ? this._selectedOptionLi().data('optionClasses') : ""; + this.newelement + .removeClass(currentOptionClasses) + .data('optionClasses', newOptionClasses) + .addClass( newOptionClasses ) + .find('.'+this.widgetBaseClass+'-status') + .html( + this._selectedOptionLi() + .find('a:eq(0)') + .html() + ); + + this.list.attr('aria-activedescendant', activeID) + }, + _refreshPosition: function(){ + //set left value + this.list.css('left', this.newelement.offset().left); + + //set top value + var menuTop = this.newelement.offset().top; + var scrolledAmt = this.list[0].scrollTop; + this.list.find('li:lt('+this._selectedIndex()+')').each(function(){ + scrolledAmt -= $(this).outerHeight(); + }); + + if(this.newelement.is('.'+this.widgetBaseClass+'-popup')){ + menuTop+=scrolledAmt; + this.list.css('top', menuTop); + } + else { + menuTop += this.newelement.height(); + this.list.css('top', menuTop); + } + } +}); + +$.extend($.ui.selectmenu, { + getter: "value", + version: "@VERSION", + eventPrefix: "selectmenu", + defaults: { + transferClasses: true, + style: 'popup', + width: null, + menuWidth: null, + handleWidth: 26, + maxHeight: null, + icons: null, + format: null + } +}); + +})(jQuery); \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.button.js b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.button.js new file mode 100644 index 0000000..de769a2 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.button.js @@ -0,0 +1,373 @@ +/* + * jQuery UI Button 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Button + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function( $, undefined ) { + +var lastActive, + baseClasses = "ui-button ui-widget ui-state-default ui-corner-all", + stateClasses = "ui-state-hover ui-state-active ", + typeClasses = "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only", + formResetHandler = function( event ) { + $( ":ui-button", event.target.form ).each(function() { + var inst = $( this ).data( "button" ); + setTimeout(function() { + inst.refresh(); + }, 1 ); + }); + }, + radioGroup = function( radio ) { + var name = radio.name, + form = radio.form, + radios = $( [] ); + if ( name ) { + if ( form ) { + radios = $( form ).find( "[name='" + name + "']" ); + } else { + radios = $( "[name='" + name + "']", radio.ownerDocument ) + .filter(function() { + return !this.form; + }); + } + } + return radios; + }; + +$.widget( "ui.button", { + options: { + disabled: null, + text: true, + label: null, + icons: { + primary: null, + secondary: null + } + }, + _create: function() { + this.element.closest( "form" ) + .unbind( "reset.button" ) + .bind( "reset.button", formResetHandler ); + + if ( typeof this.options.disabled !== "boolean" ) { + this.options.disabled = this.element.attr( "disabled" ); + } + + this._determineButtonType(); + this.hasTitle = !!this.buttonElement.attr( "title" ); + + var self = this, + options = this.options, + toggleButton = this.type === "checkbox" || this.type === "radio", + hoverClass = "ui-state-hover" + ( !toggleButton ? " ui-state-active" : "" ), + focusClass = "ui-state-focus"; + + if ( options.label === null ) { + options.label = this.buttonElement.html(); + } + + if ( this.element.is( ":disabled" ) ) { + options.disabled = true; + } + + this.buttonElement + .addClass( baseClasses ) + .attr( "role", "button" ) + .bind( "mouseenter.button", function() { + if ( options.disabled ) { + return; + } + $( this ).addClass( "ui-state-hover" ); + if ( this === lastActive ) { + $( this ).addClass( "ui-state-active" ); + } + }) + .bind( "mouseleave.button", function() { + if ( options.disabled ) { + return; + } + $( this ).removeClass( hoverClass ); + }) + .bind( "focus.button", function() { + // no need to check disabled, focus won't be triggered anyway + $( this ).addClass( focusClass ); + }) + .bind( "blur.button", function() { + $( this ).removeClass( focusClass ); + }); + + if ( toggleButton ) { + this.element.bind( "change.button", function() { + self.refresh(); + }); + } + + if ( this.type === "checkbox" ) { + this.buttonElement.bind( "click.button", function() { + if ( options.disabled ) { + return false; + } + $( this ).toggleClass( "ui-state-active" ); + self.buttonElement.attr( "aria-pressed", self.element[0].checked ); + }); + } else if ( this.type === "radio" ) { + this.buttonElement.bind( "click.button", function() { + if ( options.disabled ) { + return false; + } + $( this ).addClass( "ui-state-active" ); + self.buttonElement.attr( "aria-pressed", true ); + + var radio = self.element[ 0 ]; + radioGroup( radio ) + .not( radio ) + .map(function() { + return $( this ).button( "widget" )[ 0 ]; + }) + .removeClass( "ui-state-active" ) + .attr( "aria-pressed", false ); + }); + } else { + this.buttonElement + .bind( "mousedown.button", function() { + if ( options.disabled ) { + return false; + } + $( this ).addClass( "ui-state-active" ); + lastActive = this; + $( document ).one( "mouseup", function() { + lastActive = null; + }); + }) + .bind( "mouseup.button", function() { + if ( options.disabled ) { + return false; + } + $( this ).removeClass( "ui-state-active" ); + }) + .bind( "keydown.button", function(event) { + if ( options.disabled ) { + return false; + } + if ( event.keyCode == $.ui.keyCode.SPACE || event.keyCode == $.ui.keyCode.ENTER ) { + $( this ).addClass( "ui-state-active" ); + } + }) + .bind( "keyup.button", function() { + $( this ).removeClass( "ui-state-active" ); + }); + + if ( this.buttonElement.is("a") ) { + this.buttonElement.keyup(function(event) { + if ( event.keyCode === $.ui.keyCode.SPACE ) { + // TODO pass through original event correctly (just as 2nd argument doesn't work) + $( this ).click(); + } + }); + } + } + + // TODO: pull out $.Widget's handling for the disabled option into + // $.Widget.prototype._setOptionDisabled so it's easy to proxy and can + // be overridden by individual plugins + this._setOption( "disabled", options.disabled ); + }, + + _determineButtonType: function() { + + if ( this.element.is(":checkbox") ) { + this.type = "checkbox"; + } else { + if ( this.element.is(":radio") ) { + this.type = "radio"; + } else { + if ( this.element.is("input") ) { + this.type = "input"; + } else { + this.type = "button"; + } + } + } + + if ( this.type === "checkbox" || this.type === "radio" ) { + // we don't search against the document in case the element + // is disconnected from the DOM + this.buttonElement = this.element.parents().last() + .find( "label[for=" + this.element.attr("id") + "]" ); + this.element.addClass( "ui-helper-hidden-accessible" ); + + var checked = this.element.is( ":checked" ); + if ( checked ) { + this.buttonElement.addClass( "ui-state-active" ); + } + this.buttonElement.attr( "aria-pressed", checked ); + } else { + this.buttonElement = this.element; + } + }, + + widget: function() { + return this.buttonElement; + }, + + destroy: function() { + this.element + .removeClass( "ui-helper-hidden-accessible" ); + this.buttonElement + .removeClass( baseClasses + " " + stateClasses + " " + typeClasses ) + .removeAttr( "role" ) + .removeAttr( "aria-pressed" ) + .html( this.buttonElement.find(".ui-button-text").html() ); + + if ( !this.hasTitle ) { + this.buttonElement.removeAttr( "title" ); + } + + $.Widget.prototype.destroy.call( this ); + }, + + _setOption: function( key, value ) { + $.Widget.prototype._setOption.apply( this, arguments ); + if ( key === "disabled" ) { + if ( value ) { + this.element.attr( "disabled", true ); + } else { + this.element.removeAttr( "disabled" ); + } + } + this._resetButton(); + }, + + refresh: function() { + var isDisabled = this.element.is( ":disabled" ); + if ( isDisabled !== this.options.disabled ) { + this._setOption( "disabled", isDisabled ); + } + if ( this.type === "radio" ) { + radioGroup( this.element[0] ).each(function() { + if ( $( this ).is( ":checked" ) ) { + $( this ).button( "widget" ) + .addClass( "ui-state-active" ) + .attr( "aria-pressed", true ); + } else { + $( this ).button( "widget" ) + .removeClass( "ui-state-active" ) + .attr( "aria-pressed", false ); + } + }); + } else if ( this.type === "checkbox" ) { + if ( this.element.is( ":checked" ) ) { + this.buttonElement + .addClass( "ui-state-active" ) + .attr( "aria-pressed", true ); + } else { + this.buttonElement + .removeClass( "ui-state-active" ) + .attr( "aria-pressed", false ); + } + } + }, + + _resetButton: function() { + if ( this.type === "input" ) { + if ( this.options.label ) { + this.element.val( this.options.label ); + } + return; + } + var buttonElement = this.buttonElement.removeClass( typeClasses ), + buttonText = $( "" ) + .addClass( "ui-button-text" ) + .html( this.options.label ) + .appendTo( buttonElement.empty() ) + .text(), + icons = this.options.icons, + multipleIcons = icons.primary && icons.secondary; + if ( icons.primary || icons.secondary ) { + buttonElement.addClass( "ui-button-text-icon" + + ( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) ); + if ( icons.primary ) { + buttonElement.prepend( "" ); + } + if ( icons.secondary ) { + buttonElement.append( "" ); + } + if ( !this.options.text ) { + buttonElement + .addClass( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" ) + .removeClass( "ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary" ); + if ( !this.hasTitle ) { + buttonElement.attr( "title", buttonText ); + } + } + } else { + buttonElement.addClass( "ui-button-text-only" ); + } + } +}); + +$.widget( "ui.buttonset", { + options: { + items: ":button, :submit, :reset, :checkbox, :radio, a, :data(button)" + }, + + _create: function() { + this.element.addClass( "ui-buttonset" ); + }, + + _init: function() { + this.refresh(); + }, + + _setOption: function( key, value ) { + if ( key === "disabled" ) { + this.buttons.button( "option", key, value ); + } + + $.Widget.prototype._setOption.apply( this, arguments ); + }, + + refresh: function() { + this.buttons = this.element.find( this.options.items ) + .filter( ":ui-button" ) + .button( "refresh" ) + .end() + .not( ":ui-button" ) + .button() + .end() + .map(function() { + return $( this ).button( "widget" )[ 0 ]; + }) + .removeClass( "ui-corner-all ui-corner-left ui-corner-right" ) + .filter( ":first" ) + .addClass( "ui-corner-left" ) + .end() + .filter( ":last" ) + .addClass( "ui-corner-right" ) + .end() + .end(); + }, + + destroy: function() { + this.element.removeClass( "ui-buttonset" ); + this.buttons + .map(function() { + return $( this ).button( "widget" )[ 0 ]; + }) + .removeClass( "ui-corner-left ui-corner-right" ) + .end() + .button( "destroy" ); + + $.Widget.prototype.destroy.call( this ); + } +}); + +}( jQuery ) ); diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.core.js b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.core.js new file mode 100644 index 0000000..df067ba --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.core.js @@ -0,0 +1,308 @@ +/*! + * jQuery UI 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function( $, undefined ) { + +// prevent duplicate loading +// this is only a problem because we proxy existing functions +// and we don't want to double proxy them +$.ui = $.ui || {}; +if ( $.ui.version ) { + return; +} + +$.extend( $.ui, { + version: "1.8.7", + + keyCode: { + ALT: 18, + BACKSPACE: 8, + CAPS_LOCK: 20, + COMMA: 188, + COMMAND: 91, + COMMAND_LEFT: 91, // COMMAND + COMMAND_RIGHT: 93, + CONTROL: 17, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + INSERT: 45, + LEFT: 37, + MENU: 93, // COMMAND_RIGHT + NUMPAD_ADD: 107, + NUMPAD_DECIMAL: 110, + NUMPAD_DIVIDE: 111, + NUMPAD_ENTER: 108, + NUMPAD_MULTIPLY: 106, + NUMPAD_SUBTRACT: 109, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SHIFT: 16, + SPACE: 32, + TAB: 9, + UP: 38, + WINDOWS: 91 // COMMAND + } +}); + +// plugins +$.fn.extend({ + _focus: $.fn.focus, + focus: function( delay, fn ) { + return typeof delay === "number" ? + this.each(function() { + var elem = this; + setTimeout(function() { + $( elem ).focus(); + if ( fn ) { + fn.call( elem ); + } + }, delay ); + }) : + this._focus.apply( this, arguments ); + }, + + scrollParent: function() { + var scrollParent; + if (($.browser.msie && (/(static|relative)/).test(this.css('position'))) || (/absolute/).test(this.css('position'))) { + scrollParent = this.parents().filter(function() { + return (/(relative|absolute|fixed)/).test($.curCSS(this,'position',1)) && (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1)); + }).eq(0); + } else { + scrollParent = this.parents().filter(function() { + return (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1)); + }).eq(0); + } + + return (/fixed/).test(this.css('position')) || !scrollParent.length ? $(document) : scrollParent; + }, + + zIndex: function( zIndex ) { + if ( zIndex !== undefined ) { + return this.css( "zIndex", zIndex ); + } + + if ( this.length ) { + var elem = $( this[ 0 ] ), position, value; + while ( elem.length && elem[ 0 ] !== document ) { + // Ignore z-index if position is set to a value where z-index is ignored by the browser + // This makes behavior of this function consistent across browsers + // WebKit always returns auto if the element is positioned + position = elem.css( "position" ); + if ( position === "absolute" || position === "relative" || position === "fixed" ) { + // IE returns 0 when zIndex is not specified + // other browsers return a string + // we ignore the case of nested elements with an explicit value of 0 + //
        + value = parseInt( elem.css( "zIndex" ), 10 ); + if ( !isNaN( value ) && value !== 0 ) { + return value; + } + } + elem = elem.parent(); + } + } + + return 0; + }, + + disableSelection: function() { + return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) + + ".ui-disableSelection", function( event ) { + event.preventDefault(); + }); + }, + + enableSelection: function() { + return this.unbind( ".ui-disableSelection" ); + } +}); + +$.each( [ "Width", "Height" ], function( i, name ) { + var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], + type = name.toLowerCase(), + orig = { + innerWidth: $.fn.innerWidth, + innerHeight: $.fn.innerHeight, + outerWidth: $.fn.outerWidth, + outerHeight: $.fn.outerHeight + }; + + function reduce( elem, size, border, margin ) { + $.each( side, function() { + size -= parseFloat( $.curCSS( elem, "padding" + this, true) ) || 0; + if ( border ) { + size -= parseFloat( $.curCSS( elem, "border" + this + "Width", true) ) || 0; + } + if ( margin ) { + size -= parseFloat( $.curCSS( elem, "margin" + this, true) ) || 0; + } + }); + return size; + } + + $.fn[ "inner" + name ] = function( size ) { + if ( size === undefined ) { + return orig[ "inner" + name ].call( this ); + } + + return this.each(function() { + $( this ).css( type, reduce( this, size ) + "px" ); + }); + }; + + $.fn[ "outer" + name] = function( size, margin ) { + if ( typeof size !== "number" ) { + return orig[ "outer" + name ].call( this, size ); + } + + return this.each(function() { + $( this).css( type, reduce( this, size, true, margin ) + "px" ); + }); + }; +}); + +// selectors +function visible( element ) { + return !$( element ).parents().andSelf().filter(function() { + return $.curCSS( this, "visibility" ) === "hidden" || + $.expr.filters.hidden( this ); + }).length; +} + +$.extend( $.expr[ ":" ], { + data: function( elem, i, match ) { + return !!$.data( elem, match[ 3 ] ); + }, + + focusable: function( element ) { + var nodeName = element.nodeName.toLowerCase(), + tabIndex = $.attr( element, "tabindex" ); + if ( "area" === nodeName ) { + var map = element.parentNode, + mapName = map.name, + img; + if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { + return false; + } + img = $( "img[usemap=#" + mapName + "]" )[0]; + return !!img && visible( img ); + } + return ( /input|select|textarea|button|object/.test( nodeName ) + ? !element.disabled + : "a" == nodeName + ? element.href || !isNaN( tabIndex ) + : !isNaN( tabIndex )) + // the element and all of its ancestors must be visible + && visible( element ); + }, + + tabbable: function( element ) { + var tabIndex = $.attr( element, "tabindex" ); + return ( isNaN( tabIndex ) || tabIndex >= 0 ) && $( element ).is( ":focusable" ); + } +}); + +// support +$(function() { + var body = document.body, + div = body.appendChild( div = document.createElement( "div" ) ); + + $.extend( div.style, { + minHeight: "100px", + height: "auto", + padding: 0, + borderWidth: 0 + }); + + $.support.minHeight = div.offsetHeight === 100; + $.support.selectstart = "onselectstart" in div; + + // set display to none to avoid a layout bug in IE + // http://dev.jquery.com/ticket/4014 + body.removeChild( div ).style.display = "none"; +}); + + + + + +// deprecated +$.extend( $.ui, { + // $.ui.plugin is deprecated. Use the proxy pattern instead. + plugin: { + add: function( module, option, set ) { + var proto = $.ui[ module ].prototype; + for ( var i in set ) { + proto.plugins[ i ] = proto.plugins[ i ] || []; + proto.plugins[ i ].push( [ option, set[ i ] ] ); + } + }, + call: function( instance, name, args ) { + var set = instance.plugins[ name ]; + if ( !set || !instance.element[ 0 ].parentNode ) { + return; + } + + for ( var i = 0; i < set.length; i++ ) { + if ( instance.options[ set[ i ][ 0 ] ] ) { + set[ i ][ 1 ].apply( instance.element, args ); + } + } + } + }, + + // will be deprecated when we switch to jQuery 1.4 - use jQuery.contains() + contains: function( a, b ) { + return document.compareDocumentPosition ? + a.compareDocumentPosition( b ) & 16 : + a !== b && a.contains( b ); + }, + + // only used by resizable + hasScroll: function( el, a ) { + + //If overflow is hidden, the element might have extra content, but the user wants to hide it + if ( $( el ).css( "overflow" ) === "hidden") { + return false; + } + + var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop", + has = false; + + if ( el[ scroll ] > 0 ) { + return true; + } + + // TODO: determine which cases actually cause this to happen + // if the element doesn't have the scroll set, see if it's possible to + // set the scroll + el[ scroll ] = 1; + has = ( el[ scroll ] > 0 ); + el[ scroll ] = 0; + return has; + }, + + // these are odd functions, fix the API or move into individual plugins + isOverAxis: function( x, reference, size ) { + //Determines when x coordinate is over "b" element axis + return ( x > reference ) && ( x < ( reference + size ) ); + }, + isOver: function( y, x, top, left, height, width ) { + //Determines when x, y coordinates is over "b" element + return $.ui.isOverAxis( y, top, height ) && $.ui.isOverAxis( x, left, width ); + } +}); + +})( jQuery ); diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.datepicker.js b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.datepicker.js new file mode 100644 index 0000000..dd9418a --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.datepicker.js @@ -0,0 +1,1757 @@ +/* + * jQuery UI Datepicker 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker + * + * Depends: + * jquery.ui.core.js + */ +(function( $, undefined ) { + +$.extend($.ui, { datepicker: { version: "1.8.7" } }); + +var PROP_NAME = 'datepicker'; +var dpuuid = new Date().getTime(); + +/* Date picker manager. + Use the singleton instance of this class, $.datepicker, to interact with the date picker. + Settings for (groups of) date pickers are maintained in an instance object, + allowing multiple different settings on the same page. */ + +function Datepicker() { + this.debug = false; // Change this to true to start debugging + this._curInst = null; // The current instance in use + this._keyEvent = false; // If the last event was a key event + this._disabledInputs = []; // List of date picker inputs that have been disabled + this._datepickerShowing = false; // True if the popup picker is showing , false if not + this._inDialog = false; // True if showing within a "dialog", false if not + this._mainDivId = 'ui-datepicker-div'; // The ID of the main datepicker division + this._inlineClass = 'ui-datepicker-inline'; // The name of the inline marker class + this._appendClass = 'ui-datepicker-append'; // The name of the append marker class + this._triggerClass = 'ui-datepicker-trigger'; // The name of the trigger marker class + this._dialogClass = 'ui-datepicker-dialog'; // The name of the dialog marker class + this._disableClass = 'ui-datepicker-disabled'; // The name of the disabled covering marker class + this._unselectableClass = 'ui-datepicker-unselectable'; // The name of the unselectable cell marker class + this._currentClass = 'ui-datepicker-current-day'; // The name of the current day marker class + this._dayOverClass = 'ui-datepicker-days-cell-over'; // The name of the day hover marker class + this.regional = []; // Available regional settings, indexed by language code + this.regional[''] = { // Default regional settings + closeText: 'Done', // Display text for close link + prevText: 'Prev', // Display text for previous month link + nextText: 'Next', // Display text for next month link + currentText: 'Today', // Display text for current month link + monthNames: ['January','February','March','April','May','June', + 'July','August','September','October','November','December'], // Names of months for drop-down and formatting + monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], // For formatting + dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], // For formatting + dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], // For formatting + dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'], // Column headings for days starting at Sunday + weekHeader: 'Wk', // Column header for week of the year + dateFormat: 'mm/dd/yy', // See format options on parseDate + firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ... + isRTL: false, // True if right-to-left language, false if left-to-right + showMonthAfterYear: false, // True if the year select precedes month, false for month then year + yearSuffix: '' // Additional text to append to the year in the month headers + }; + this._defaults = { // Global defaults for all the date picker instances + showOn: 'focus', // 'focus' for popup on focus, + // 'button' for trigger button, or 'both' for either + showAnim: 'fadeIn', // Name of jQuery animation for popup + showOptions: {}, // Options for enhanced animations + defaultDate: null, // Used when field is blank: actual date, + // +/-number for offset from today, null for today + appendText: '', // Display text following the input box, e.g. showing the format + buttonText: '...', // Text for trigger button + buttonImage: '', // URL for trigger button image + buttonImageOnly: false, // True if the image appears alone, false if it appears on a button + hideIfNoPrevNext: false, // True to hide next/previous month links + // if not applicable, false to just disable them + navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links + gotoCurrent: false, // True if today link goes back to current selection instead + changeMonth: false, // True if month can be selected directly, false if only prev/next + changeYear: false, // True if year can be selected directly, false if only prev/next + yearRange: 'c-10:c+10', // Range of years to display in drop-down, + // either relative to today's year (-nn:+nn), relative to currently displayed year + // (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n) + showOtherMonths: false, // True to show dates in other months, false to leave blank + selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable + showWeek: false, // True to show week of the year, false to not show it + calculateWeek: this.iso8601Week, // How to calculate the week of the year, + // takes a Date and returns the number of the week for it + shortYearCutoff: '+10', // Short year values < this are in the current century, + // > this are in the previous century, + // string value starting with '+' for current year + value + minDate: null, // The earliest selectable date, or null for no limit + maxDate: null, // The latest selectable date, or null for no limit + duration: 'fast', // Duration of display/closure + beforeShowDay: null, // Function that takes a date and returns an array with + // [0] = true if selectable, false if not, [1] = custom CSS class name(s) or '', + // [2] = cell title (optional), e.g. $.datepicker.noWeekends + beforeShow: null, // Function that takes an input field and + // returns a set of custom settings for the date picker + onSelect: null, // Define a callback function when a date is selected + onChangeMonthYear: null, // Define a callback function when the month or year is changed + onClose: null, // Define a callback function when the datepicker is closed + numberOfMonths: 1, // Number of months to show at a time + showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0) + stepMonths: 1, // Number of months to step back/forward + stepBigMonths: 12, // Number of months to step back/forward for the big links + altField: '', // Selector for an alternate field to store selected dates into + altFormat: '', // The date format to use for the alternate field + constrainInput: true, // The input is constrained by the current date format + showButtonPanel: false, // True to show button panel, false to not show it + autoSize: false // True to size the input for the date format, false to leave as is + }; + $.extend(this._defaults, this.regional['']); + this.dpDiv = $('
        '); +} + +$.extend(Datepicker.prototype, { + /* Class name added to elements to indicate already configured with a date picker. */ + markerClassName: 'hasDatepicker', + + /* Debug logging (if enabled). */ + log: function () { + if (this.debug) + console.log.apply('', arguments); + }, + + // TODO rename to "widget" when switching to widget factory + _widgetDatepicker: function() { + return this.dpDiv; + }, + + /* Override the default settings for all instances of the date picker. + @param settings object - the new settings to use as defaults (anonymous object) + @return the manager object */ + setDefaults: function(settings) { + extendRemove(this._defaults, settings || {}); + return this; + }, + + /* Attach the date picker to a jQuery selection. + @param target element - the target input field or division or span + @param settings object - the new settings to use for this date picker instance (anonymous) */ + _attachDatepicker: function(target, settings) { + // check for settings on the control itself - in namespace 'date:' + var inlineSettings = null; + for (var attrName in this._defaults) { + var attrValue = target.getAttribute('date:' + attrName); + if (attrValue) { + inlineSettings = inlineSettings || {}; + try { + inlineSettings[attrName] = eval(attrValue); + } catch (err) { + inlineSettings[attrName] = attrValue; + } + } + } + var nodeName = target.nodeName.toLowerCase(); + var inline = (nodeName == 'div' || nodeName == 'span'); + if (!target.id) { + this.uuid += 1; + target.id = 'dp' + this.uuid; + } + var inst = this._newInst($(target), inline); + inst.settings = $.extend({}, settings || {}, inlineSettings || {}); + if (nodeName == 'input') { + this._connectDatepicker(target, inst); + } else if (inline) { + this._inlineDatepicker(target, inst); + } + }, + + /* Create a new instance object. */ + _newInst: function(target, inline) { + var id = target[0].id.replace(/([^A-Za-z0-9_-])/g, '\\\\$1'); // escape jQuery meta chars + return {id: id, input: target, // associated target + selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection + drawMonth: 0, drawYear: 0, // month being drawn + inline: inline, // is datepicker inline or not + dpDiv: (!inline ? this.dpDiv : // presentation div + $('
        '))}; + }, + + /* Attach the date picker to an input field. */ + _connectDatepicker: function(target, inst) { + var input = $(target); + inst.append = $([]); + inst.trigger = $([]); + if (input.hasClass(this.markerClassName)) + return; + this._attachments(input, inst); + input.addClass(this.markerClassName).keydown(this._doKeyDown). + keypress(this._doKeyPress).keyup(this._doKeyUp). + bind("setData.datepicker", function(event, key, value) { + inst.settings[key] = value; + }).bind("getData.datepicker", function(event, key) { + return this._get(inst, key); + }); + this._autoSize(inst); + $.data(target, PROP_NAME, inst); + }, + + /* Make attachments based on settings. */ + _attachments: function(input, inst) { + var appendText = this._get(inst, 'appendText'); + var isRTL = this._get(inst, 'isRTL'); + if (inst.append) + inst.append.remove(); + if (appendText) { + inst.append = $('' + appendText + ''); + input[isRTL ? 'before' : 'after'](inst.append); + } + input.unbind('focus', this._showDatepicker); + if (inst.trigger) + inst.trigger.remove(); + var showOn = this._get(inst, 'showOn'); + if (showOn == 'focus' || showOn == 'both') // pop-up date picker when in the marked field + input.focus(this._showDatepicker); + if (showOn == 'button' || showOn == 'both') { // pop-up date picker when button clicked + var buttonText = this._get(inst, 'buttonText'); + var buttonImage = this._get(inst, 'buttonImage'); + inst.trigger = $(this._get(inst, 'buttonImageOnly') ? + $('').addClass(this._triggerClass). + attr({ src: buttonImage, alt: buttonText, title: buttonText }) : + $('').addClass(this._triggerClass). + html(buttonImage == '' ? buttonText : $('').attr( + { src:buttonImage, alt:buttonText, title:buttonText }))); + input[isRTL ? 'before' : 'after'](inst.trigger); + inst.trigger.click(function() { + if ($.datepicker._datepickerShowing && $.datepicker._lastInput == input[0]) + $.datepicker._hideDatepicker(); + else + $.datepicker._showDatepicker(input[0]); + return false; + }); + } + }, + + /* Apply the maximum length for the date format. */ + _autoSize: function(inst) { + if (this._get(inst, 'autoSize') && !inst.inline) { + var date = new Date(2009, 12 - 1, 20); // Ensure double digits + var dateFormat = this._get(inst, 'dateFormat'); + if (dateFormat.match(/[DM]/)) { + var findMax = function(names) { + var max = 0; + var maxI = 0; + for (var i = 0; i < names.length; i++) { + if (names[i].length > max) { + max = names[i].length; + maxI = i; + } + } + return maxI; + }; + date.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ? + 'monthNames' : 'monthNamesShort')))); + date.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ? + 'dayNames' : 'dayNamesShort'))) + 20 - date.getDay()); + } + inst.input.attr('size', this._formatDate(inst, date).length); + } + }, + + /* Attach an inline date picker to a div. */ + _inlineDatepicker: function(target, inst) { + var divSpan = $(target); + if (divSpan.hasClass(this.markerClassName)) + return; + divSpan.addClass(this.markerClassName).append(inst.dpDiv). + bind("setData.datepicker", function(event, key, value){ + inst.settings[key] = value; + }).bind("getData.datepicker", function(event, key){ + return this._get(inst, key); + }); + $.data(target, PROP_NAME, inst); + this._setDate(inst, this._getDefaultDate(inst), true); + this._updateDatepicker(inst); + this._updateAlternate(inst); + inst.dpDiv.show(); + }, + + /* Pop-up the date picker in a "dialog" box. + @param input element - ignored + @param date string or Date - the initial date to display + @param onSelect function - the function to call when a date is selected + @param settings object - update the dialog date picker instance's settings (anonymous object) + @param pos int[2] - coordinates for the dialog's position within the screen or + event - with x/y coordinates or + leave empty for default (screen centre) + @return the manager object */ + _dialogDatepicker: function(input, date, onSelect, settings, pos) { + var inst = this._dialogInst; // internal instance + if (!inst) { + this.uuid += 1; + var id = 'dp' + this.uuid; + this._dialogInput = $(''); + this._dialogInput.keydown(this._doKeyDown); + $('body').append(this._dialogInput); + inst = this._dialogInst = this._newInst(this._dialogInput, false); + inst.settings = {}; + $.data(this._dialogInput[0], PROP_NAME, inst); + } + extendRemove(inst.settings, settings || {}); + date = (date && date.constructor == Date ? this._formatDate(inst, date) : date); + this._dialogInput.val(date); + + this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null); + if (!this._pos) { + var browserWidth = document.documentElement.clientWidth; + var browserHeight = document.documentElement.clientHeight; + var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; + var scrollY = document.documentElement.scrollTop || document.body.scrollTop; + this._pos = // should use actual width/height below + [(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY]; + } + + // move input on screen for focus, but hidden behind dialog + this._dialogInput.css('left', (this._pos[0] + 20) + 'px').css('top', this._pos[1] + 'px'); + inst.settings.onSelect = onSelect; + this._inDialog = true; + this.dpDiv.addClass(this._dialogClass); + this._showDatepicker(this._dialogInput[0]); + if ($.blockUI) + $.blockUI(this.dpDiv); + $.data(this._dialogInput[0], PROP_NAME, inst); + return this; + }, + + /* Detach a datepicker from its control. + @param target element - the target input field or division or span */ + _destroyDatepicker: function(target) { + var $target = $(target); + var inst = $.data(target, PROP_NAME); + if (!$target.hasClass(this.markerClassName)) { + return; + } + var nodeName = target.nodeName.toLowerCase(); + $.removeData(target, PROP_NAME); + if (nodeName == 'input') { + inst.append.remove(); + inst.trigger.remove(); + $target.removeClass(this.markerClassName). + unbind('focus', this._showDatepicker). + unbind('keydown', this._doKeyDown). + unbind('keypress', this._doKeyPress). + unbind('keyup', this._doKeyUp); + } else if (nodeName == 'div' || nodeName == 'span') + $target.removeClass(this.markerClassName).empty(); + }, + + /* Enable the date picker to a jQuery selection. + @param target element - the target input field or division or span */ + _enableDatepicker: function(target) { + var $target = $(target); + var inst = $.data(target, PROP_NAME); + if (!$target.hasClass(this.markerClassName)) { + return; + } + var nodeName = target.nodeName.toLowerCase(); + if (nodeName == 'input') { + target.disabled = false; + inst.trigger.filter('button'). + each(function() { this.disabled = false; }).end(). + filter('img').css({opacity: '1.0', cursor: ''}); + } + else if (nodeName == 'div' || nodeName == 'span') { + var inline = $target.children('.' + this._inlineClass); + inline.children().removeClass('ui-state-disabled'); + } + this._disabledInputs = $.map(this._disabledInputs, + function(value) { return (value == target ? null : value); }); // delete entry + }, + + /* Disable the date picker to a jQuery selection. + @param target element - the target input field or division or span */ + _disableDatepicker: function(target) { + var $target = $(target); + var inst = $.data(target, PROP_NAME); + if (!$target.hasClass(this.markerClassName)) { + return; + } + var nodeName = target.nodeName.toLowerCase(); + if (nodeName == 'input') { + target.disabled = true; + inst.trigger.filter('button'). + each(function() { this.disabled = true; }).end(). + filter('img').css({opacity: '0.5', cursor: 'default'}); + } + else if (nodeName == 'div' || nodeName == 'span') { + var inline = $target.children('.' + this._inlineClass); + inline.children().addClass('ui-state-disabled'); + } + this._disabledInputs = $.map(this._disabledInputs, + function(value) { return (value == target ? null : value); }); // delete entry + this._disabledInputs[this._disabledInputs.length] = target; + }, + + /* Is the first field in a jQuery collection disabled as a datepicker? + @param target element - the target input field or division or span + @return boolean - true if disabled, false if enabled */ + _isDisabledDatepicker: function(target) { + if (!target) { + return false; + } + for (var i = 0; i < this._disabledInputs.length; i++) { + if (this._disabledInputs[i] == target) + return true; + } + return false; + }, + + /* Retrieve the instance data for the target control. + @param target element - the target input field or division or span + @return object - the associated instance data + @throws error if a jQuery problem getting data */ + _getInst: function(target) { + try { + return $.data(target, PROP_NAME); + } + catch (err) { + throw 'Missing instance data for this datepicker'; + } + }, + + /* Update or retrieve the settings for a date picker attached to an input field or division. + @param target element - the target input field or division or span + @param name object - the new settings to update or + string - the name of the setting to change or retrieve, + when retrieving also 'all' for all instance settings or + 'defaults' for all global defaults + @param value any - the new value for the setting + (omit if above is an object or to retrieve a value) */ + _optionDatepicker: function(target, name, value) { + var inst = this._getInst(target); + if (arguments.length == 2 && typeof name == 'string') { + return (name == 'defaults' ? $.extend({}, $.datepicker._defaults) : + (inst ? (name == 'all' ? $.extend({}, inst.settings) : + this._get(inst, name)) : null)); + } + var settings = name || {}; + if (typeof name == 'string') { + settings = {}; + settings[name] = value; + } + if (inst) { + if (this._curInst == inst) { + this._hideDatepicker(); + } + var date = this._getDateDatepicker(target, true); + extendRemove(inst.settings, settings); + this._attachments($(target), inst); + this._autoSize(inst); + this._setDateDatepicker(target, date); + this._updateDatepicker(inst); + } + }, + + // change method deprecated + _changeDatepicker: function(target, name, value) { + this._optionDatepicker(target, name, value); + }, + + /* Redraw the date picker attached to an input field or division. + @param target element - the target input field or division or span */ + _refreshDatepicker: function(target) { + var inst = this._getInst(target); + if (inst) { + this._updateDatepicker(inst); + } + }, + + /* Set the dates for a jQuery selection. + @param target element - the target input field or division or span + @param date Date - the new date */ + _setDateDatepicker: function(target, date) { + var inst = this._getInst(target); + if (inst) { + this._setDate(inst, date); + this._updateDatepicker(inst); + this._updateAlternate(inst); + } + }, + + /* Get the date(s) for the first entry in a jQuery selection. + @param target element - the target input field or division or span + @param noDefault boolean - true if no default date is to be used + @return Date - the current date */ + _getDateDatepicker: function(target, noDefault) { + var inst = this._getInst(target); + if (inst && !inst.inline) + this._setDateFromField(inst, noDefault); + return (inst ? this._getDate(inst) : null); + }, + + /* Handle keystrokes. */ + _doKeyDown: function(event) { + var inst = $.datepicker._getInst(event.target); + var handled = true; + var isRTL = inst.dpDiv.is('.ui-datepicker-rtl'); + inst._keyEvent = true; + if ($.datepicker._datepickerShowing) + switch (event.keyCode) { + case 9: $.datepicker._hideDatepicker(); + handled = false; + break; // hide on tab out + case 13: var sel = $('td.' + $.datepicker._dayOverClass + ':not(.' + + $.datepicker._currentClass + ')', inst.dpDiv); + if (sel[0]) + $.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]); + else + $.datepicker._hideDatepicker(); + return false; // don't submit the form + break; // select the value on enter + case 27: $.datepicker._hideDatepicker(); + break; // hide on escape + case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ? + -$.datepicker._get(inst, 'stepBigMonths') : + -$.datepicker._get(inst, 'stepMonths')), 'M'); + break; // previous month/year on page up/+ ctrl + case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ? + +$.datepicker._get(inst, 'stepBigMonths') : + +$.datepicker._get(inst, 'stepMonths')), 'M'); + break; // next month/year on page down/+ ctrl + case 35: if (event.ctrlKey || event.metaKey) $.datepicker._clearDate(event.target); + handled = event.ctrlKey || event.metaKey; + break; // clear on ctrl or command +end + case 36: if (event.ctrlKey || event.metaKey) $.datepicker._gotoToday(event.target); + handled = event.ctrlKey || event.metaKey; + break; // current on ctrl or command +home + case 37: if (event.ctrlKey || event.metaKey) $.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), 'D'); + handled = event.ctrlKey || event.metaKey; + // -1 day on ctrl or command +left + if (event.originalEvent.altKey) $.datepicker._adjustDate(event.target, (event.ctrlKey ? + -$.datepicker._get(inst, 'stepBigMonths') : + -$.datepicker._get(inst, 'stepMonths')), 'M'); + // next month/year on alt +left on Mac + break; + case 38: if (event.ctrlKey || event.metaKey) $.datepicker._adjustDate(event.target, -7, 'D'); + handled = event.ctrlKey || event.metaKey; + break; // -1 week on ctrl or command +up + case 39: if (event.ctrlKey || event.metaKey) $.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), 'D'); + handled = event.ctrlKey || event.metaKey; + // +1 day on ctrl or command +right + if (event.originalEvent.altKey) $.datepicker._adjustDate(event.target, (event.ctrlKey ? + +$.datepicker._get(inst, 'stepBigMonths') : + +$.datepicker._get(inst, 'stepMonths')), 'M'); + // next month/year on alt +right + break; + case 40: if (event.ctrlKey || event.metaKey) $.datepicker._adjustDate(event.target, +7, 'D'); + handled = event.ctrlKey || event.metaKey; + break; // +1 week on ctrl or command +down + default: handled = false; + } + else if (event.keyCode == 36 && event.ctrlKey) // display the date picker on ctrl+home + $.datepicker._showDatepicker(this); + else { + handled = false; + } + if (handled) { + event.preventDefault(); + event.stopPropagation(); + } + }, + + /* Filter entered characters - based on date format. */ + _doKeyPress: function(event) { + var inst = $.datepicker._getInst(event.target); + if ($.datepicker._get(inst, 'constrainInput')) { + var chars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')); + var chr = String.fromCharCode(event.charCode == undefined ? event.keyCode : event.charCode); + return event.ctrlKey || event.metaKey || (chr < ' ' || !chars || chars.indexOf(chr) > -1); + } + }, + + /* Synchronise manual entry and field/alternate field. */ + _doKeyUp: function(event) { + var inst = $.datepicker._getInst(event.target); + if (inst.input.val() != inst.lastVal) { + try { + var date = $.datepicker.parseDate($.datepicker._get(inst, 'dateFormat'), + (inst.input ? inst.input.val() : null), + $.datepicker._getFormatConfig(inst)); + if (date) { // only if valid + $.datepicker._setDateFromField(inst); + $.datepicker._updateAlternate(inst); + $.datepicker._updateDatepicker(inst); + } + } + catch (event) { + $.datepicker.log(event); + } + } + return true; + }, + + /* Pop-up the date picker for a given input field. + @param input element - the input field attached to the date picker or + event - if triggered by focus */ + _showDatepicker: function(input) { + input = input.target || input; + if (input.nodeName.toLowerCase() != 'input') // find from button/image trigger + input = $('input', input.parentNode)[0]; + if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput == input) // already here + return; + var inst = $.datepicker._getInst(input); + if ($.datepicker._curInst && $.datepicker._curInst != inst) { + $.datepicker._curInst.dpDiv.stop(true, true); + } + var beforeShow = $.datepicker._get(inst, 'beforeShow'); + extendRemove(inst.settings, (beforeShow ? beforeShow.apply(input, [input, inst]) : {})); + inst.lastVal = null; + $.datepicker._lastInput = input; + $.datepicker._setDateFromField(inst); + if ($.datepicker._inDialog) // hide cursor + input.value = ''; + if (!$.datepicker._pos) { // position below input + $.datepicker._pos = $.datepicker._findPos(input); + $.datepicker._pos[1] += input.offsetHeight; // add the height + } + var isFixed = false; + $(input).parents().each(function() { + isFixed |= $(this).css('position') == 'fixed'; + return !isFixed; + }); + if (isFixed && $.browser.opera) { // correction for Opera when fixed and scrolled + $.datepicker._pos[0] -= document.documentElement.scrollLeft; + $.datepicker._pos[1] -= document.documentElement.scrollTop; + } + var offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]}; + $.datepicker._pos = null; + //to avoid flashes on Firefox + inst.dpDiv.empty(); + // determine sizing offscreen + inst.dpDiv.css({position: 'absolute', display: 'block', top: '-1000px'}); + $.datepicker._updateDatepicker(inst); + // fix width for dynamic number of date pickers + // and adjust position before showing + offset = $.datepicker._checkOffset(inst, offset, isFixed); + inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ? + 'static' : (isFixed ? 'fixed' : 'absolute')), display: 'none', + left: offset.left + 'px', top: offset.top + 'px'}); + if (!inst.inline) { + var showAnim = $.datepicker._get(inst, 'showAnim'); + var duration = $.datepicker._get(inst, 'duration'); + var postProcess = function() { + $.datepicker._datepickerShowing = true; + var cover = inst.dpDiv.find('iframe.ui-datepicker-cover'); // IE6- only + if( !! cover.length ){ + var borders = $.datepicker._getBorders(inst.dpDiv); + cover.css({left: -borders[0], top: -borders[1], + width: inst.dpDiv.outerWidth(), height: inst.dpDiv.outerHeight()}); + } + }; + inst.dpDiv.zIndex($(input).zIndex()+1); + if ($.effects && $.effects[showAnim]) + inst.dpDiv.show(showAnim, $.datepicker._get(inst, 'showOptions'), duration, postProcess); + else + inst.dpDiv[showAnim || 'show']((showAnim ? duration : null), postProcess); + if (!showAnim || !duration) + postProcess(); + if (inst.input.is(':visible') && !inst.input.is(':disabled')) + inst.input.focus(); + $.datepicker._curInst = inst; + } + }, + + /* Generate the date picker content. */ + _updateDatepicker: function(inst) { + var self = this; + var borders = $.datepicker._getBorders(inst.dpDiv); + inst.dpDiv.empty().append(this._generateHTML(inst)); + var cover = inst.dpDiv.find('iframe.ui-datepicker-cover'); // IE6- only + if( !!cover.length ){ //avoid call to outerXXXX() when not in IE6 + cover.css({left: -borders[0], top: -borders[1], width: inst.dpDiv.outerWidth(), height: inst.dpDiv.outerHeight()}) + } + inst.dpDiv.find('button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a') + .bind('mouseout', function(){ + $(this).removeClass('ui-state-hover'); + if(this.className.indexOf('ui-datepicker-prev') != -1) $(this).removeClass('ui-datepicker-prev-hover'); + if(this.className.indexOf('ui-datepicker-next') != -1) $(this).removeClass('ui-datepicker-next-hover'); + }) + .bind('mouseover', function(){ + if (!self._isDisabledDatepicker( inst.inline ? inst.dpDiv.parent()[0] : inst.input[0])) { + $(this).parents('.ui-datepicker-calendar').find('a').removeClass('ui-state-hover'); + $(this).addClass('ui-state-hover'); + if(this.className.indexOf('ui-datepicker-prev') != -1) $(this).addClass('ui-datepicker-prev-hover'); + if(this.className.indexOf('ui-datepicker-next') != -1) $(this).addClass('ui-datepicker-next-hover'); + } + }) + .end() + .find('.' + this._dayOverClass + ' a') + .trigger('mouseover') + .end(); + var numMonths = this._getNumberOfMonths(inst); + var cols = numMonths[1]; + var width = 17; + if (cols > 1) + inst.dpDiv.addClass('ui-datepicker-multi-' + cols).css('width', (width * cols) + 'em'); + else + inst.dpDiv.removeClass('ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4').width(''); + inst.dpDiv[(numMonths[0] != 1 || numMonths[1] != 1 ? 'add' : 'remove') + + 'Class']('ui-datepicker-multi'); + inst.dpDiv[(this._get(inst, 'isRTL') ? 'add' : 'remove') + + 'Class']('ui-datepicker-rtl'); + if (inst == $.datepicker._curInst && $.datepicker._datepickerShowing && inst.input && + inst.input.is(':visible') && !inst.input.is(':disabled')) + inst.input.focus(); + // deffered render of the years select (to avoid flashes on Firefox) + if( inst.yearshtml ){ + var origyearshtml = inst.yearshtml; + setTimeout(function(){ + //assure that inst.yearshtml didn't change. + if( origyearshtml === inst.yearshtml ){ + inst.dpDiv.find('select.ui-datepicker-year:first').replaceWith(inst.yearshtml); + } + origyearshtml = inst.yearshtml = null; + }, 0); + } + }, + + /* Retrieve the size of left and top borders for an element. + @param elem (jQuery object) the element of interest + @return (number[2]) the left and top borders */ + _getBorders: function(elem) { + var convert = function(value) { + return {thin: 1, medium: 2, thick: 3}[value] || value; + }; + return [parseFloat(convert(elem.css('border-left-width'))), + parseFloat(convert(elem.css('border-top-width')))]; + }, + + /* Check positioning to remain on screen. */ + _checkOffset: function(inst, offset, isFixed) { + var dpWidth = inst.dpDiv.outerWidth(); + var dpHeight = inst.dpDiv.outerHeight(); + var inputWidth = inst.input ? inst.input.outerWidth() : 0; + var inputHeight = inst.input ? inst.input.outerHeight() : 0; + var viewWidth = document.documentElement.clientWidth + $(document).scrollLeft(); + var viewHeight = document.documentElement.clientHeight + $(document).scrollTop(); + + offset.left -= (this._get(inst, 'isRTL') ? (dpWidth - inputWidth) : 0); + offset.left -= (isFixed && offset.left == inst.input.offset().left) ? $(document).scrollLeft() : 0; + offset.top -= (isFixed && offset.top == (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0; + + // now check if datepicker is showing outside window viewport - move to a better place if so. + offset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ? + Math.abs(offset.left + dpWidth - viewWidth) : 0); + offset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ? + Math.abs(dpHeight + inputHeight) : 0); + + return offset; + }, + + /* Find an object's position on the screen. */ + _findPos: function(obj) { + var inst = this._getInst(obj); + var isRTL = this._get(inst, 'isRTL'); + while (obj && (obj.type == 'hidden' || obj.nodeType != 1)) { + obj = obj[isRTL ? 'previousSibling' : 'nextSibling']; + } + var position = $(obj).offset(); + return [position.left, position.top]; + }, + + /* Hide the date picker from view. + @param input element - the input field attached to the date picker */ + _hideDatepicker: function(input) { + var inst = this._curInst; + if (!inst || (input && inst != $.data(input, PROP_NAME))) + return; + if (this._datepickerShowing) { + var showAnim = this._get(inst, 'showAnim'); + var duration = this._get(inst, 'duration'); + var postProcess = function() { + $.datepicker._tidyDialog(inst); + this._curInst = null; + }; + if ($.effects && $.effects[showAnim]) + inst.dpDiv.hide(showAnim, $.datepicker._get(inst, 'showOptions'), duration, postProcess); + else + inst.dpDiv[(showAnim == 'slideDown' ? 'slideUp' : + (showAnim == 'fadeIn' ? 'fadeOut' : 'hide'))]((showAnim ? duration : null), postProcess); + if (!showAnim) + postProcess(); + var onClose = this._get(inst, 'onClose'); + if (onClose) + onClose.apply((inst.input ? inst.input[0] : null), + [(inst.input ? inst.input.val() : ''), inst]); // trigger custom callback + this._datepickerShowing = false; + this._lastInput = null; + if (this._inDialog) { + this._dialogInput.css({ position: 'absolute', left: '0', top: '-100px' }); + if ($.blockUI) { + $.unblockUI(); + $('body').append(this.dpDiv); + } + } + this._inDialog = false; + } + }, + + /* Tidy up after a dialog display. */ + _tidyDialog: function(inst) { + inst.dpDiv.removeClass(this._dialogClass).unbind('.ui-datepicker-calendar'); + }, + + /* Close date picker if clicked elsewhere. */ + _checkExternalClick: function(event) { + if (!$.datepicker._curInst) + return; + var $target = $(event.target); + if ($target[0].id != $.datepicker._mainDivId && + $target.parents('#' + $.datepicker._mainDivId).length == 0 && + !$target.hasClass($.datepicker.markerClassName) && + !$target.hasClass($.datepicker._triggerClass) && + $.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI)) + $.datepicker._hideDatepicker(); + }, + + /* Adjust one of the date sub-fields. */ + _adjustDate: function(id, offset, period) { + var target = $(id); + var inst = this._getInst(target[0]); + if (this._isDisabledDatepicker(target[0])) { + return; + } + this._adjustInstDate(inst, offset + + (period == 'M' ? this._get(inst, 'showCurrentAtPos') : 0), // undo positioning + period); + this._updateDatepicker(inst); + }, + + /* Action for current link. */ + _gotoToday: function(id) { + var target = $(id); + var inst = this._getInst(target[0]); + if (this._get(inst, 'gotoCurrent') && inst.currentDay) { + inst.selectedDay = inst.currentDay; + inst.drawMonth = inst.selectedMonth = inst.currentMonth; + inst.drawYear = inst.selectedYear = inst.currentYear; + } + else { + var date = new Date(); + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + } + this._notifyChange(inst); + this._adjustDate(target); + }, + + /* Action for selecting a new month/year. */ + _selectMonthYear: function(id, select, period) { + var target = $(id); + var inst = this._getInst(target[0]); + inst._selectingMonthYear = false; + inst['selected' + (period == 'M' ? 'Month' : 'Year')] = + inst['draw' + (period == 'M' ? 'Month' : 'Year')] = + parseInt(select.options[select.selectedIndex].value,10); + this._notifyChange(inst); + this._adjustDate(target); + }, + + /* Restore input focus after not changing month/year. */ + _clickMonthYear: function(id) { + var target = $(id); + var inst = this._getInst(target[0]); + if (inst.input && inst._selectingMonthYear) { + setTimeout(function() { + inst.input.focus(); + }, 0); + } + inst._selectingMonthYear = !inst._selectingMonthYear; + }, + + /* Action for selecting a day. */ + _selectDay: function(id, month, year, td) { + var target = $(id); + if ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) { + return; + } + var inst = this._getInst(target[0]); + inst.selectedDay = inst.currentDay = $('a', td).html(); + inst.selectedMonth = inst.currentMonth = month; + inst.selectedYear = inst.currentYear = year; + this._selectDate(id, this._formatDate(inst, + inst.currentDay, inst.currentMonth, inst.currentYear)); + }, + + /* Erase the input field and hide the date picker. */ + _clearDate: function(id) { + var target = $(id); + var inst = this._getInst(target[0]); + this._selectDate(target, ''); + }, + + /* Update the input field with the selected date. */ + _selectDate: function(id, dateStr) { + var target = $(id); + var inst = this._getInst(target[0]); + dateStr = (dateStr != null ? dateStr : this._formatDate(inst)); + if (inst.input) + inst.input.val(dateStr); + this._updateAlternate(inst); + var onSelect = this._get(inst, 'onSelect'); + if (onSelect) + onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); // trigger custom callback + else if (inst.input) + inst.input.trigger('change'); // fire the change event + if (inst.inline) + this._updateDatepicker(inst); + else { + this._hideDatepicker(); + this._lastInput = inst.input[0]; + if (typeof(inst.input[0]) != 'object') + inst.input.focus(); // restore focus + this._lastInput = null; + } + }, + + /* Update any alternate field to synchronise with the main field. */ + _updateAlternate: function(inst) { + var altField = this._get(inst, 'altField'); + if (altField) { // update alternate field too + var altFormat = this._get(inst, 'altFormat') || this._get(inst, 'dateFormat'); + var date = this._getDate(inst); + var dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst)); + $(altField).each(function() { $(this).val(dateStr); }); + } + }, + + /* Set as beforeShowDay function to prevent selection of weekends. + @param date Date - the date to customise + @return [boolean, string] - is this date selectable?, what is its CSS class? */ + noWeekends: function(date) { + var day = date.getDay(); + return [(day > 0 && day < 6), '']; + }, + + /* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. + @param date Date - the date to get the week for + @return number - the number of the week within the year that contains this date */ + iso8601Week: function(date) { + var checkDate = new Date(date.getTime()); + // Find Thursday of this week starting on Monday + checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7)); + var time = checkDate.getTime(); + checkDate.setMonth(0); // Compare with Jan 1 + checkDate.setDate(1); + return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1; + }, + + /* Parse a string value into a date object. + See formatDate below for the possible formats. + + @param format string - the expected format of the date + @param value string - the date in the above format + @param settings Object - attributes include: + shortYearCutoff number - the cutoff year for determining the century (optional) + dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + dayNames string[7] - names of the days from Sunday (optional) + monthNamesShort string[12] - abbreviated names of the months (optional) + monthNames string[12] - names of the months (optional) + @return Date - the extracted date value or null if value is blank */ + parseDate: function (format, value, settings) { + if (format == null || value == null) + throw 'Invalid arguments'; + value = (typeof value == 'object' ? value.toString() : value + ''); + if (value == '') + return null; + var shortYearCutoff = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff; + var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort; + var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames; + var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort; + var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames; + var year = -1; + var month = -1; + var day = -1; + var doy = -1; + var literal = false; + // Check whether a format character is doubled + var lookAhead = function(match) { + var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); + if (matches) + iFormat++; + return matches; + }; + // Extract a number from the string value + var getNumber = function(match) { + var isDoubled = lookAhead(match); + var size = (match == '@' ? 14 : (match == '!' ? 20 : + (match == 'y' && isDoubled ? 4 : (match == 'o' ? 3 : 2)))); + var digits = new RegExp('^\\d{1,' + size + '}'); + var num = value.substring(iValue).match(digits); + if (!num) + throw 'Missing number at position ' + iValue; + iValue += num[0].length; + return parseInt(num[0], 10); + }; + // Extract a name from the string value and convert to an index + var getName = function(match, shortNames, longNames) { + var names = (lookAhead(match) ? longNames : shortNames); + for (var i = 0; i < names.length; i++) { + if (value.substr(iValue, names[i].length).toLowerCase() == names[i].toLowerCase()) { + iValue += names[i].length; + return i + 1; + } + } + throw 'Unknown name at position ' + iValue; + }; + // Confirm that a literal character matches the string value + var checkLiteral = function() { + if (value.charAt(iValue) != format.charAt(iFormat)) + throw 'Unexpected literal at position ' + iValue; + iValue++; + }; + var iValue = 0; + for (var iFormat = 0; iFormat < format.length; iFormat++) { + if (literal) + if (format.charAt(iFormat) == "'" && !lookAhead("'")) + literal = false; + else + checkLiteral(); + else + switch (format.charAt(iFormat)) { + case 'd': + day = getNumber('d'); + break; + case 'D': + getName('D', dayNamesShort, dayNames); + break; + case 'o': + doy = getNumber('o'); + break; + case 'm': + month = getNumber('m'); + break; + case 'M': + month = getName('M', monthNamesShort, monthNames); + break; + case 'y': + year = getNumber('y'); + break; + case '@': + var date = new Date(getNumber('@')); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case '!': + var date = new Date((getNumber('!') - this._ticksTo1970) / 10000); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case "'": + if (lookAhead("'")) + checkLiteral(); + else + literal = true; + break; + default: + checkLiteral(); + } + } + if (year == -1) + year = new Date().getFullYear(); + else if (year < 100) + year += new Date().getFullYear() - new Date().getFullYear() % 100 + + (year <= shortYearCutoff ? 0 : -100); + if (doy > -1) { + month = 1; + day = doy; + do { + var dim = this._getDaysInMonth(year, month - 1); + if (day <= dim) + break; + month++; + day -= dim; + } while (true); + } + var date = this._daylightSavingAdjust(new Date(year, month - 1, day)); + if (date.getFullYear() != year || date.getMonth() + 1 != month || date.getDate() != day) + throw 'Invalid date'; // E.g. 31/02/* + return date; + }, + + /* Standard date formats. */ + ATOM: 'yy-mm-dd', // RFC 3339 (ISO 8601) + COOKIE: 'D, dd M yy', + ISO_8601: 'yy-mm-dd', + RFC_822: 'D, d M y', + RFC_850: 'DD, dd-M-y', + RFC_1036: 'D, d M y', + RFC_1123: 'D, d M yy', + RFC_2822: 'D, d M yy', + RSS: 'D, d M y', // RFC 822 + TICKS: '!', + TIMESTAMP: '@', + W3C: 'yy-mm-dd', // ISO 8601 + + _ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) + + Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000), + + /* Format a date object into a string value. + The format can be combinations of the following: + d - day of month (no leading zero) + dd - day of month (two digit) + o - day of year (no leading zeros) + oo - day of year (three digit) + D - day name short + DD - day name long + m - month of year (no leading zero) + mm - month of year (two digit) + M - month name short + MM - month name long + y - year (two digit) + yy - year (four digit) + @ - Unix timestamp (ms since 01/01/1970) + ! - Windows ticks (100ns since 01/01/0001) + '...' - literal text + '' - single quote + + @param format string - the desired format of the date + @param date Date - the date value to format + @param settings Object - attributes include: + dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + dayNames string[7] - names of the days from Sunday (optional) + monthNamesShort string[12] - abbreviated names of the months (optional) + monthNames string[12] - names of the months (optional) + @return string - the date in the above format */ + formatDate: function (format, date, settings) { + if (!date) + return ''; + var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort; + var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames; + var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort; + var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames; + // Check whether a format character is doubled + var lookAhead = function(match) { + var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); + if (matches) + iFormat++; + return matches; + }; + // Format a number, with leading zero if necessary + var formatNumber = function(match, value, len) { + var num = '' + value; + if (lookAhead(match)) + while (num.length < len) + num = '0' + num; + return num; + }; + // Format a name, short or long as requested + var formatName = function(match, value, shortNames, longNames) { + return (lookAhead(match) ? longNames[value] : shortNames[value]); + }; + var output = ''; + var literal = false; + if (date) + for (var iFormat = 0; iFormat < format.length; iFormat++) { + if (literal) + if (format.charAt(iFormat) == "'" && !lookAhead("'")) + literal = false; + else + output += format.charAt(iFormat); + else + switch (format.charAt(iFormat)) { + case 'd': + output += formatNumber('d', date.getDate(), 2); + break; + case 'D': + output += formatName('D', date.getDay(), dayNamesShort, dayNames); + break; + case 'o': + output += formatNumber('o', + (date.getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000, 3); + break; + case 'm': + output += formatNumber('m', date.getMonth() + 1, 2); + break; + case 'M': + output += formatName('M', date.getMonth(), monthNamesShort, monthNames); + break; + case 'y': + output += (lookAhead('y') ? date.getFullYear() : + (date.getYear() % 100 < 10 ? '0' : '') + date.getYear() % 100); + break; + case '@': + output += date.getTime(); + break; + case '!': + output += date.getTime() * 10000 + this._ticksTo1970; + break; + case "'": + if (lookAhead("'")) + output += "'"; + else + literal = true; + break; + default: + output += format.charAt(iFormat); + } + } + return output; + }, + + /* Extract all possible characters from the date format. */ + _possibleChars: function (format) { + var chars = ''; + var literal = false; + // Check whether a format character is doubled + var lookAhead = function(match) { + var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); + if (matches) + iFormat++; + return matches; + }; + for (var iFormat = 0; iFormat < format.length; iFormat++) + if (literal) + if (format.charAt(iFormat) == "'" && !lookAhead("'")) + literal = false; + else + chars += format.charAt(iFormat); + else + switch (format.charAt(iFormat)) { + case 'd': case 'm': case 'y': case '@': + chars += '0123456789'; + break; + case 'D': case 'M': + return null; // Accept anything + case "'": + if (lookAhead("'")) + chars += "'"; + else + literal = true; + break; + default: + chars += format.charAt(iFormat); + } + return chars; + }, + + /* Get a setting value, defaulting if necessary. */ + _get: function(inst, name) { + return inst.settings[name] !== undefined ? + inst.settings[name] : this._defaults[name]; + }, + + /* Parse existing date and initialise date picker. */ + _setDateFromField: function(inst, noDefault) { + if (inst.input.val() == inst.lastVal) { + return; + } + var dateFormat = this._get(inst, 'dateFormat'); + var dates = inst.lastVal = inst.input ? inst.input.val() : null; + var date, defaultDate; + date = defaultDate = this._getDefaultDate(inst); + var settings = this._getFormatConfig(inst); + try { + date = this.parseDate(dateFormat, dates, settings) || defaultDate; + } catch (event) { + this.log(event); + dates = (noDefault ? '' : dates); + } + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + inst.currentDay = (dates ? date.getDate() : 0); + inst.currentMonth = (dates ? date.getMonth() : 0); + inst.currentYear = (dates ? date.getFullYear() : 0); + this._adjustInstDate(inst); + }, + + /* Retrieve the default date shown on opening. */ + _getDefaultDate: function(inst) { + return this._restrictMinMax(inst, + this._determineDate(inst, this._get(inst, 'defaultDate'), new Date())); + }, + + /* A date may be specified as an exact value or a relative one. */ + _determineDate: function(inst, date, defaultDate) { + var offsetNumeric = function(offset) { + var date = new Date(); + date.setDate(date.getDate() + offset); + return date; + }; + var offsetString = function(offset) { + try { + return $.datepicker.parseDate($.datepicker._get(inst, 'dateFormat'), + offset, $.datepicker._getFormatConfig(inst)); + } + catch (e) { + // Ignore + } + var date = (offset.toLowerCase().match(/^c/) ? + $.datepicker._getDate(inst) : null) || new Date(); + var year = date.getFullYear(); + var month = date.getMonth(); + var day = date.getDate(); + var pattern = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g; + var matches = pattern.exec(offset); + while (matches) { + switch (matches[2] || 'd') { + case 'd' : case 'D' : + day += parseInt(matches[1],10); break; + case 'w' : case 'W' : + day += parseInt(matches[1],10) * 7; break; + case 'm' : case 'M' : + month += parseInt(matches[1],10); + day = Math.min(day, $.datepicker._getDaysInMonth(year, month)); + break; + case 'y': case 'Y' : + year += parseInt(matches[1],10); + day = Math.min(day, $.datepicker._getDaysInMonth(year, month)); + break; + } + matches = pattern.exec(offset); + } + return new Date(year, month, day); + }; + var newDate = (date == null || date === '' ? defaultDate : (typeof date == 'string' ? offsetString(date) : + (typeof date == 'number' ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime())))); + newDate = (newDate && newDate.toString() == 'Invalid Date' ? defaultDate : newDate); + if (newDate) { + newDate.setHours(0); + newDate.setMinutes(0); + newDate.setSeconds(0); + newDate.setMilliseconds(0); + } + return this._daylightSavingAdjust(newDate); + }, + + /* Handle switch to/from daylight saving. + Hours may be non-zero on daylight saving cut-over: + > 12 when midnight changeover, but then cannot generate + midnight datetime, so jump to 1AM, otherwise reset. + @param date (Date) the date to check + @return (Date) the corrected date */ + _daylightSavingAdjust: function(date) { + if (!date) return null; + date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0); + return date; + }, + + /* Set the date(s) directly. */ + _setDate: function(inst, date, noChange) { + var clear = !date; + var origMonth = inst.selectedMonth; + var origYear = inst.selectedYear; + var newDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date())); + inst.selectedDay = inst.currentDay = newDate.getDate(); + inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth(); + inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear(); + if ((origMonth != inst.selectedMonth || origYear != inst.selectedYear) && !noChange) + this._notifyChange(inst); + this._adjustInstDate(inst); + if (inst.input) { + inst.input.val(clear ? '' : this._formatDate(inst)); + } + }, + + /* Retrieve the date(s) directly. */ + _getDate: function(inst) { + var startDate = (!inst.currentYear || (inst.input && inst.input.val() == '') ? null : + this._daylightSavingAdjust(new Date( + inst.currentYear, inst.currentMonth, inst.currentDay))); + return startDate; + }, + + /* Generate the HTML for the current state of the date picker. */ + _generateHTML: function(inst) { + var today = new Date(); + today = this._daylightSavingAdjust( + new Date(today.getFullYear(), today.getMonth(), today.getDate())); // clear time + var isRTL = this._get(inst, 'isRTL'); + var showButtonPanel = this._get(inst, 'showButtonPanel'); + var hideIfNoPrevNext = this._get(inst, 'hideIfNoPrevNext'); + var navigationAsDateFormat = this._get(inst, 'navigationAsDateFormat'); + var numMonths = this._getNumberOfMonths(inst); + var showCurrentAtPos = this._get(inst, 'showCurrentAtPos'); + var stepMonths = this._get(inst, 'stepMonths'); + var isMultiMonth = (numMonths[0] != 1 || numMonths[1] != 1); + var currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) : + new Date(inst.currentYear, inst.currentMonth, inst.currentDay))); + var minDate = this._getMinMaxDate(inst, 'min'); + var maxDate = this._getMinMaxDate(inst, 'max'); + var drawMonth = inst.drawMonth - showCurrentAtPos; + var drawYear = inst.drawYear; + if (drawMonth < 0) { + drawMonth += 12; + drawYear--; + } + if (maxDate) { + var maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(), + maxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate())); + maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw); + while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) { + drawMonth--; + if (drawMonth < 0) { + drawMonth = 11; + drawYear--; + } + } + } + inst.drawMonth = drawMonth; + inst.drawYear = drawYear; + var prevText = this._get(inst, 'prevText'); + prevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText, + this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)), + this._getFormatConfig(inst))); + var prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ? + '' + prevText + '' : + (hideIfNoPrevNext ? '' : '' + prevText + '')); + var nextText = this._get(inst, 'nextText'); + nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText, + this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)), + this._getFormatConfig(inst))); + var next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ? + '' + nextText + '' : + (hideIfNoPrevNext ? '' : '' + nextText + '')); + var currentText = this._get(inst, 'currentText'); + var gotoDate = (this._get(inst, 'gotoCurrent') && inst.currentDay ? currentDate : today); + currentText = (!navigationAsDateFormat ? currentText : + this.formatDate(currentText, gotoDate, this._getFormatConfig(inst))); + var controls = (!inst.inline ? '' : ''); + var buttonPanel = (showButtonPanel) ? '
        ' + (isRTL ? controls : '') + + (this._isInRange(inst, gotoDate) ? '' : '') + (isRTL ? '' : controls) + '
        ' : ''; + var firstDay = parseInt(this._get(inst, 'firstDay'),10); + firstDay = (isNaN(firstDay) ? 0 : firstDay); + var showWeek = this._get(inst, 'showWeek'); + var dayNames = this._get(inst, 'dayNames'); + var dayNamesShort = this._get(inst, 'dayNamesShort'); + var dayNamesMin = this._get(inst, 'dayNamesMin'); + var monthNames = this._get(inst, 'monthNames'); + var monthNamesShort = this._get(inst, 'monthNamesShort'); + var beforeShowDay = this._get(inst, 'beforeShowDay'); + var showOtherMonths = this._get(inst, 'showOtherMonths'); + var selectOtherMonths = this._get(inst, 'selectOtherMonths'); + var calculateWeek = this._get(inst, 'calculateWeek') || this.iso8601Week; + var defaultDate = this._getDefaultDate(inst); + var html = ''; + for (var row = 0; row < numMonths[0]; row++) { + var group = ''; + for (var col = 0; col < numMonths[1]; col++) { + var selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay)); + var cornerClass = ' ui-corner-all'; + var calender = ''; + if (isMultiMonth) { + calender += '
        '; + } + calender += '
        ' + + (/all|left/.test(cornerClass) && row == 0 ? (isRTL ? next : prev) : '') + + (/all|right/.test(cornerClass) && row == 0 ? (isRTL ? prev : next) : '') + + this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate, + row > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers + '
        ' + + ''; + var thead = (showWeek ? '' : ''); + for (var dow = 0; dow < 7; dow++) { // days of the week + var day = (dow + firstDay) % 7; + thead += '= 5 ? ' class="ui-datepicker-week-end"' : '') + '>' + + '' + dayNamesMin[day] + ''; + } + calender += thead + ''; + var daysInMonth = this._getDaysInMonth(drawYear, drawMonth); + if (drawYear == inst.selectedYear && drawMonth == inst.selectedMonth) + inst.selectedDay = Math.min(inst.selectedDay, daysInMonth); + var leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7; + var numRows = (isMultiMonth ? 6 : Math.ceil((leadDays + daysInMonth) / 7)); // calculate the number of rows to generate + var printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays)); + for (var dRow = 0; dRow < numRows; dRow++) { // create date picker rows + calender += ''; + var tbody = (!showWeek ? '' : ''); + for (var dow = 0; dow < 7; dow++) { // create date picker days + var daySettings = (beforeShowDay ? + beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, '']); + var otherMonth = (printDate.getMonth() != drawMonth); + var unselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] || + (minDate && printDate < minDate) || (maxDate && printDate > maxDate); + tbody += ''; // display selectable date + printDate.setDate(printDate.getDate() + 1); + printDate = this._daylightSavingAdjust(printDate); + } + calender += tbody + ''; + } + drawMonth++; + if (drawMonth > 11) { + drawMonth = 0; + drawYear++; + } + calender += '
        ' + this._get(inst, 'weekHeader') + '
        ' + + this._get(inst, 'calculateWeek')(printDate) + '' + // actions + (otherMonth && !showOtherMonths ? ' ' : // display for other months + (unselectable ? '' + printDate.getDate() + '' : '' + printDate.getDate() + '')) + '
        ' + (isMultiMonth ? '
        ' + + ((numMonths[0] > 0 && col == numMonths[1]-1) ? '
        ' : '') : ''); + group += calender; + } + html += group; + } + html += buttonPanel + ($.browser.msie && parseInt($.browser.version,10) < 7 && !inst.inline ? + '' : ''); + inst._keyEvent = false; + return html; + }, + + /* Generate the month and year header. */ + _generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate, + secondary, monthNames, monthNamesShort) { + var changeMonth = this._get(inst, 'changeMonth'); + var changeYear = this._get(inst, 'changeYear'); + var showMonthAfterYear = this._get(inst, 'showMonthAfterYear'); + var html = '
        '; + var monthHtml = ''; + // month selection + if (secondary || !changeMonth) + monthHtml += '' + monthNames[drawMonth] + ''; + else { + var inMinYear = (minDate && minDate.getFullYear() == drawYear); + var inMaxYear = (maxDate && maxDate.getFullYear() == drawYear); + monthHtml += ''; + } + if (!showMonthAfterYear) + html += monthHtml + (secondary || !(changeMonth && changeYear) ? ' ' : ''); + // year selection + inst.yearshtml = ''; + if (secondary || !changeYear) + html += '' + drawYear + ''; + else { + // determine range of years to display + var years = this._get(inst, 'yearRange').split(':'); + var thisYear = new Date().getFullYear(); + var determineYear = function(value) { + var year = (value.match(/c[+-].*/) ? drawYear + parseInt(value.substring(1), 10) : + (value.match(/[+-].*/) ? thisYear + parseInt(value, 10) : + parseInt(value, 10))); + return (isNaN(year) ? thisYear : year); + }; + var year = determineYear(years[0]); + var endYear = Math.max(year, determineYear(years[1] || '')); + year = (minDate ? Math.max(year, minDate.getFullYear()) : year); + endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear); + inst.yearshtml += ''; + //when showing there is no need for later update + if( ! $.browser.mozilla ){ + html += inst.yearshtml; + inst.yearshtml = null; + } else { + // will be replaced later with inst.yearshtml + html += ''; + } + } + html += this._get(inst, 'yearSuffix'); + if (showMonthAfterYear) + html += (secondary || !(changeMonth && changeYear) ? ' ' : '') + monthHtml; + html += '
        '; // Close datepicker_header + return html; + }, + + /* Adjust one of the date sub-fields. */ + _adjustInstDate: function(inst, offset, period) { + var year = inst.drawYear + (period == 'Y' ? offset : 0); + var month = inst.drawMonth + (period == 'M' ? offset : 0); + var day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + + (period == 'D' ? offset : 0); + var date = this._restrictMinMax(inst, + this._daylightSavingAdjust(new Date(year, month, day))); + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + if (period == 'M' || period == 'Y') + this._notifyChange(inst); + }, + + /* Ensure a date is within any min/max bounds. */ + _restrictMinMax: function(inst, date) { + var minDate = this._getMinMaxDate(inst, 'min'); + var maxDate = this._getMinMaxDate(inst, 'max'); + var newDate = (minDate && date < minDate ? minDate : date); + newDate = (maxDate && newDate > maxDate ? maxDate : newDate); + return newDate; + }, + + /* Notify change of month/year. */ + _notifyChange: function(inst) { + var onChange = this._get(inst, 'onChangeMonthYear'); + if (onChange) + onChange.apply((inst.input ? inst.input[0] : null), + [inst.selectedYear, inst.selectedMonth + 1, inst]); + }, + + /* Determine the number of months to show. */ + _getNumberOfMonths: function(inst) { + var numMonths = this._get(inst, 'numberOfMonths'); + return (numMonths == null ? [1, 1] : (typeof numMonths == 'number' ? [1, numMonths] : numMonths)); + }, + + /* Determine the current maximum date - ensure no time components are set. */ + _getMinMaxDate: function(inst, minMax) { + return this._determineDate(inst, this._get(inst, minMax + 'Date'), null); + }, + + /* Find the number of days in a given month. */ + _getDaysInMonth: function(year, month) { + return 32 - new Date(year, month, 32).getDate(); + }, + + /* Find the day of the week of the first of a month. */ + _getFirstDayOfMonth: function(year, month) { + return new Date(year, month, 1).getDay(); + }, + + /* Determines if we should allow a "next/prev" month display change. */ + _canAdjustMonth: function(inst, offset, curYear, curMonth) { + var numMonths = this._getNumberOfMonths(inst); + var date = this._daylightSavingAdjust(new Date(curYear, + curMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1)); + if (offset < 0) + date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth())); + return this._isInRange(inst, date); + }, + + /* Is the given date in the accepted range? */ + _isInRange: function(inst, date) { + var minDate = this._getMinMaxDate(inst, 'min'); + var maxDate = this._getMinMaxDate(inst, 'max'); + return ((!minDate || date.getTime() >= minDate.getTime()) && + (!maxDate || date.getTime() <= maxDate.getTime())); + }, + + /* Provide the configuration settings for formatting/parsing. */ + _getFormatConfig: function(inst) { + var shortYearCutoff = this._get(inst, 'shortYearCutoff'); + shortYearCutoff = (typeof shortYearCutoff != 'string' ? shortYearCutoff : + new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10)); + return {shortYearCutoff: shortYearCutoff, + dayNamesShort: this._get(inst, 'dayNamesShort'), dayNames: this._get(inst, 'dayNames'), + monthNamesShort: this._get(inst, 'monthNamesShort'), monthNames: this._get(inst, 'monthNames')}; + }, + + /* Format the given date for display. */ + _formatDate: function(inst, day, month, year) { + if (!day) { + inst.currentDay = inst.selectedDay; + inst.currentMonth = inst.selectedMonth; + inst.currentYear = inst.selectedYear; + } + var date = (day ? (typeof day == 'object' ? day : + this._daylightSavingAdjust(new Date(year, month, day))) : + this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay))); + return this.formatDate(this._get(inst, 'dateFormat'), date, this._getFormatConfig(inst)); + } +}); + +/* jQuery extend now ignores nulls! */ +function extendRemove(target, props) { + $.extend(target, props); + for (var name in props) + if (props[name] == null || props[name] == undefined) + target[name] = props[name]; + return target; +}; + +/* Determine whether an object is an array. */ +function isArray(a) { + return (a && (($.browser.safari && typeof a == 'object' && a.length) || + (a.constructor && a.constructor.toString().match(/\Array\(\)/)))); +}; + +/* Invoke the datepicker functionality. + @param options string - a command, optionally followed by additional parameters or + Object - settings for attaching new datepicker functionality + @return jQuery object */ +$.fn.datepicker = function(options){ + + /* Initialise the date picker. */ + if (!$.datepicker.initialized) { + $(document).mousedown($.datepicker._checkExternalClick). + find('body').append($.datepicker.dpDiv); + $.datepicker.initialized = true; + } + + var otherArgs = Array.prototype.slice.call(arguments, 1); + if (typeof options == 'string' && (options == 'isDisabled' || options == 'getDate' || options == 'widget')) + return $.datepicker['_' + options + 'Datepicker']. + apply($.datepicker, [this[0]].concat(otherArgs)); + if (options == 'option' && arguments.length == 2 && typeof arguments[1] == 'string') + return $.datepicker['_' + options + 'Datepicker']. + apply($.datepicker, [this[0]].concat(otherArgs)); + return this.each(function() { + typeof options == 'string' ? + $.datepicker['_' + options + 'Datepicker']. + apply($.datepicker, [this].concat(otherArgs)) : + $.datepicker._attachDatepicker(this, options); + }); +}; + +$.datepicker = new Datepicker(); // singleton instance +$.datepicker.initialized = false; +$.datepicker.uuid = new Date().getTime(); +$.datepicker.version = "1.8.7"; + +// Workaround for #4055 +// Add another global to avoid noConflict issues with inline event handlers +window['DP_jQuery_' + dpuuid] = $; + +})(jQuery); diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.mouse.js b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.mouse.js new file mode 100644 index 0000000..d45c0f1 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.mouse.js @@ -0,0 +1,151 @@ +/*! + * jQuery UI Mouse 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function( $, undefined ) { + +$.widget("ui.mouse", { + options: { + cancel: ':input,option', + distance: 1, + delay: 0 + }, + _mouseInit: function() { + var self = this; + + this.element + .bind('mousedown.'+this.widgetName, function(event) { + return self._mouseDown(event); + }) + .bind('click.'+this.widgetName, function(event) { + if (true === $.data(event.target, self.widgetName + '.preventClickEvent')) { + $.removeData(event.target, self.widgetName + '.preventClickEvent'); + event.stopImmediatePropagation(); + return false; + } + }); + + this.started = false; + }, + + // TODO: make sure destroying one instance of mouse doesn't mess with + // other instances of mouse + _mouseDestroy: function() { + this.element.unbind('.'+this.widgetName); + }, + + _mouseDown: function(event) { + // don't let more than one widget handle mouseStart + // TODO: figure out why we have to use originalEvent + event.originalEvent = event.originalEvent || {}; + if (event.originalEvent.mouseHandled) { return; } + + // we may have missed mouseup (out of window) + (this._mouseStarted && this._mouseUp(event)); + + this._mouseDownEvent = event; + + var self = this, + btnIsLeft = (event.which == 1), + elIsCancel = (typeof this.options.cancel == "string" ? $(event.target).parents().add(event.target).filter(this.options.cancel).length : false); + if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) { + return true; + } + + this.mouseDelayMet = !this.options.delay; + if (!this.mouseDelayMet) { + this._mouseDelayTimer = setTimeout(function() { + self.mouseDelayMet = true; + }, this.options.delay); + } + + if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { + this._mouseStarted = (this._mouseStart(event) !== false); + if (!this._mouseStarted) { + event.preventDefault(); + return true; + } + } + + // these delegates are required to keep context + this._mouseMoveDelegate = function(event) { + return self._mouseMove(event); + }; + this._mouseUpDelegate = function(event) { + return self._mouseUp(event); + }; + $(document) + .bind('mousemove.'+this.widgetName, this._mouseMoveDelegate) + .bind('mouseup.'+this.widgetName, this._mouseUpDelegate); + + event.preventDefault(); + event.originalEvent.mouseHandled = true; + return true; + }, + + _mouseMove: function(event) { + // IE mouseup check - mouseup happened when mouse was out of window + if ($.browser.msie && !(document.documentMode >= 9) && !event.button) { + return this._mouseUp(event); + } + + if (this._mouseStarted) { + this._mouseDrag(event); + return event.preventDefault(); + } + + if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { + this._mouseStarted = + (this._mouseStart(this._mouseDownEvent, event) !== false); + (this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event)); + } + + return !this._mouseStarted; + }, + + _mouseUp: function(event) { + $(document) + .unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate) + .unbind('mouseup.'+this.widgetName, this._mouseUpDelegate); + + if (this._mouseStarted) { + this._mouseStarted = false; + + if (event.target == this._mouseDownEvent.target) { + $.data(event.target, this.widgetName + '.preventClickEvent', true); + } + + this._mouseStop(event); + } + + return false; + }, + + _mouseDistanceMet: function(event) { + return (Math.max( + Math.abs(this._mouseDownEvent.pageX - event.pageX), + Math.abs(this._mouseDownEvent.pageY - event.pageY) + ) >= this.options.distance + ); + }, + + _mouseDelayMet: function(event) { + return this.mouseDelayMet; + }, + + // These are placeholder methods, to be overriden by extending plugin + _mouseStart: function(event) {}, + _mouseDrag: function(event) {}, + _mouseStop: function(event) {}, + _mouseCapture: function(event) { return true; } +}); + +})(jQuery); diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.slider.js b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.slider.js new file mode 100644 index 0000000..91a4cfd --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.slider.js @@ -0,0 +1,682 @@ +/* + * jQuery UI Slider 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function( $, undefined ) { + +// number of pages in a slider +// (how many times can you page up/down to go through the whole range) +var numPages = 5; + +$.widget( "ui.slider", $.ui.mouse, { + + widgetEventPrefix: "slide", + + options: { + animate: false, + distance: 0, + max: 100, + min: 0, + orientation: "horizontal", + range: false, + step: 1, + value: 0, + values: null + }, + + _create: function() { + var self = this, + o = this.options; + + this._keySliding = false; + this._mouseSliding = false; + this._animateOff = true; + this._handleIndex = null; + this._detectOrientation(); + this._mouseInit(); + + this.element + .addClass( "ui-slider" + + " ui-slider-" + this.orientation + + " ui-widget" + + " ui-widget-content" + + " ui-corner-all" ); + + if ( o.disabled ) { + this.element.addClass( "ui-slider-disabled ui-disabled" ); + } + + this.range = $([]); + + if ( o.range ) { + if ( o.range === true ) { + this.range = $( "
        " ); + if ( !o.values ) { + o.values = [ this._valueMin(), this._valueMin() ]; + } + if ( o.values.length && o.values.length !== 2 ) { + o.values = [ o.values[0], o.values[0] ]; + } + } else { + this.range = $( "
        " ); + } + + this.range + .appendTo( this.element ) + .addClass( "ui-slider-range" ); + + if ( o.range === "min" || o.range === "max" ) { + this.range.addClass( "ui-slider-range-" + o.range ); + } + + // note: this isn't the most fittingly semantic framework class for this element, + // but worked best visually with a variety of themes + this.range.addClass( "ui-widget-header" ); + } + + if ( $( ".ui-slider-handle", this.element ).length === 0 ) { + $( "" ) + .appendTo( this.element ) + .addClass( "ui-slider-handle" ); + } + + if ( o.values && o.values.length ) { + while ( $(".ui-slider-handle", this.element).length < o.values.length ) { + $( "" ) + .appendTo( this.element ) + .addClass( "ui-slider-handle" ); + } + } + + this.handles = $( ".ui-slider-handle", this.element ) + .addClass( "ui-state-default" + + " ui-corner-all" ); + + this.handle = this.handles.eq( 0 ); + + this.handles.add( this.range ).filter( "a" ) + .click(function( event ) { + event.preventDefault(); + }) + .hover(function() { + if ( !o.disabled ) { + $( this ).addClass( "ui-state-hover" ); + } + }, function() { + $( this ).removeClass( "ui-state-hover" ); + }) + .focus(function() { + if ( !o.disabled ) { + $( ".ui-slider .ui-state-focus" ).removeClass( "ui-state-focus" ); + $( this ).addClass( "ui-state-focus" ); + } else { + $( this ).blur(); + } + }) + .blur(function() { + $( this ).removeClass( "ui-state-focus" ); + }); + + this.handles.each(function( i ) { + $( this ).data( "index.ui-slider-handle", i ); + }); + + this.handles + .keydown(function( event ) { + var ret = true, + index = $( this ).data( "index.ui-slider-handle" ), + allowed, + curVal, + newVal, + step; + + if ( self.options.disabled ) { + return; + } + + switch ( event.keyCode ) { + case $.ui.keyCode.HOME: + case $.ui.keyCode.END: + case $.ui.keyCode.PAGE_UP: + case $.ui.keyCode.PAGE_DOWN: + case $.ui.keyCode.UP: + case $.ui.keyCode.RIGHT: + case $.ui.keyCode.DOWN: + case $.ui.keyCode.LEFT: + ret = false; + if ( !self._keySliding ) { + self._keySliding = true; + $( this ).addClass( "ui-state-active" ); + allowed = self._start( event, index ); + if ( allowed === false ) { + return; + } + } + break; + } + + step = self.options.step; + if ( self.options.values && self.options.values.length ) { + curVal = newVal = self.values( index ); + } else { + curVal = newVal = self.value(); + } + + switch ( event.keyCode ) { + case $.ui.keyCode.HOME: + newVal = self._valueMin(); + break; + case $.ui.keyCode.END: + newVal = self._valueMax(); + break; + case $.ui.keyCode.PAGE_UP: + newVal = self._trimAlignValue( curVal + ( (self._valueMax() - self._valueMin()) / numPages ) ); + break; + case $.ui.keyCode.PAGE_DOWN: + newVal = self._trimAlignValue( curVal - ( (self._valueMax() - self._valueMin()) / numPages ) ); + break; + case $.ui.keyCode.UP: + case $.ui.keyCode.RIGHT: + if ( curVal === self._valueMax() ) { + return; + } + newVal = self._trimAlignValue( curVal + step ); + break; + case $.ui.keyCode.DOWN: + case $.ui.keyCode.LEFT: + if ( curVal === self._valueMin() ) { + return; + } + newVal = self._trimAlignValue( curVal - step ); + break; + } + + self._slide( event, index, newVal ); + + return ret; + + }) + .keyup(function( event ) { + var index = $( this ).data( "index.ui-slider-handle" ); + + if ( self._keySliding ) { + self._keySliding = false; + self._stop( event, index ); + self._change( event, index ); + $( this ).removeClass( "ui-state-active" ); + } + + }); + + this._refreshValue(); + + this._animateOff = false; + }, + + destroy: function() { + this.handles.remove(); + this.range.remove(); + + this.element + .removeClass( "ui-slider" + + " ui-slider-horizontal" + + " ui-slider-vertical" + + " ui-slider-disabled" + + " ui-widget" + + " ui-widget-content" + + " ui-corner-all" ) + .removeData( "slider" ) + .unbind( ".slider" ); + + this._mouseDestroy(); + + return this; + }, + + _mouseCapture: function( event ) { + var o = this.options, + position, + normValue, + distance, + closestHandle, + self, + index, + allowed, + offset, + mouseOverHandle; + + if ( o.disabled ) { + return false; + } + + this.elementSize = { + width: this.element.outerWidth(), + height: this.element.outerHeight() + }; + this.elementOffset = this.element.offset(); + + position = { x: event.pageX, y: event.pageY }; + normValue = this._normValueFromMouse( position ); + distance = this._valueMax() - this._valueMin() + 1; + self = this; + this.handles.each(function( i ) { + var thisDistance = Math.abs( normValue - self.values(i) ); + if ( distance > thisDistance ) { + distance = thisDistance; + closestHandle = $( this ); + index = i; + } + }); + + // workaround for bug #3736 (if both handles of a range are at 0, + // the first is always used as the one with least distance, + // and moving it is obviously prevented by preventing negative ranges) + if( o.range === true && this.values(1) === o.min ) { + index += 1; + closestHandle = $( this.handles[index] ); + } + + allowed = this._start( event, index ); + if ( allowed === false ) { + return false; + } + this._mouseSliding = true; + + self._handleIndex = index; + + closestHandle + .addClass( "ui-state-active" ) + .focus(); + + offset = closestHandle.offset(); + mouseOverHandle = !$( event.target ).parents().andSelf().is( ".ui-slider-handle" ); + this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : { + left: event.pageX - offset.left - ( closestHandle.width() / 2 ), + top: event.pageY - offset.top - + ( closestHandle.height() / 2 ) - + ( parseInt( closestHandle.css("borderTopWidth"), 10 ) || 0 ) - + ( parseInt( closestHandle.css("borderBottomWidth"), 10 ) || 0) + + ( parseInt( closestHandle.css("marginTop"), 10 ) || 0) + }; + + if ( !this.handles.hasClass( "ui-state-hover" ) ) { + this._slide( event, index, normValue ); + } + this._animateOff = true; + return true; + }, + + _mouseStart: function( event ) { + return true; + }, + + _mouseDrag: function( event ) { + var position = { x: event.pageX, y: event.pageY }, + normValue = this._normValueFromMouse( position ); + + this._slide( event, this._handleIndex, normValue ); + + return false; + }, + + _mouseStop: function( event ) { + this.handles.removeClass( "ui-state-active" ); + this._mouseSliding = false; + + this._stop( event, this._handleIndex ); + this._change( event, this._handleIndex ); + + this._handleIndex = null; + this._clickOffset = null; + this._animateOff = false; + + return false; + }, + + _detectOrientation: function() { + this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal"; + }, + + _normValueFromMouse: function( position ) { + var pixelTotal, + pixelMouse, + percentMouse, + valueTotal, + valueMouse; + + if ( this.orientation === "horizontal" ) { + pixelTotal = this.elementSize.width; + pixelMouse = position.x - this.elementOffset.left - ( this._clickOffset ? this._clickOffset.left : 0 ); + } else { + pixelTotal = this.elementSize.height; + pixelMouse = position.y - this.elementOffset.top - ( this._clickOffset ? this._clickOffset.top : 0 ); + } + + percentMouse = ( pixelMouse / pixelTotal ); + if ( percentMouse > 1 ) { + percentMouse = 1; + } + if ( percentMouse < 0 ) { + percentMouse = 0; + } + if ( this.orientation === "vertical" ) { + percentMouse = 1 - percentMouse; + } + + valueTotal = this._valueMax() - this._valueMin(); + valueMouse = this._valueMin() + percentMouse * valueTotal; + + return this._trimAlignValue( valueMouse ); + }, + + _start: function( event, index ) { + var uiHash = { + handle: this.handles[ index ], + value: this.value() + }; + if ( this.options.values && this.options.values.length ) { + uiHash.value = this.values( index ); + uiHash.values = this.values(); + } + return this._trigger( "start", event, uiHash ); + }, + + _slide: function( event, index, newVal ) { + var otherVal, + newValues, + allowed; + + if ( this.options.values && this.options.values.length ) { + otherVal = this.values( index ? 0 : 1 ); + + if ( ( this.options.values.length === 2 && this.options.range === true ) && + ( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) ) + ) { + newVal = otherVal; + } + + if ( newVal !== this.values( index ) ) { + newValues = this.values(); + newValues[ index ] = newVal; + // A slide can be canceled by returning false from the slide callback + allowed = this._trigger( "slide", event, { + handle: this.handles[ index ], + value: newVal, + values: newValues + } ); + otherVal = this.values( index ? 0 : 1 ); + if ( allowed !== false ) { + this.values( index, newVal, true ); + } + } + } else { + if ( newVal !== this.value() ) { + // A slide can be canceled by returning false from the slide callback + allowed = this._trigger( "slide", event, { + handle: this.handles[ index ], + value: newVal + } ); + if ( allowed !== false ) { + this.value( newVal ); + } + } + } + }, + + _stop: function( event, index ) { + var uiHash = { + handle: this.handles[ index ], + value: this.value() + }; + if ( this.options.values && this.options.values.length ) { + uiHash.value = this.values( index ); + uiHash.values = this.values(); + } + + this._trigger( "stop", event, uiHash ); + }, + + _change: function( event, index ) { + if ( !this._keySliding && !this._mouseSliding ) { + var uiHash = { + handle: this.handles[ index ], + value: this.value() + }; + if ( this.options.values && this.options.values.length ) { + uiHash.value = this.values( index ); + uiHash.values = this.values(); + } + + this._trigger( "change", event, uiHash ); + } + }, + + value: function( newValue ) { + if ( arguments.length ) { + this.options.value = this._trimAlignValue( newValue ); + this._refreshValue(); + this._change( null, 0 ); + } + + return this._value(); + }, + + values: function( index, newValue ) { + var vals, + newValues, + i; + + if ( arguments.length > 1 ) { + this.options.values[ index ] = this._trimAlignValue( newValue ); + this._refreshValue(); + this._change( null, index ); + } + + if ( arguments.length ) { + if ( $.isArray( arguments[ 0 ] ) ) { + vals = this.options.values; + newValues = arguments[ 0 ]; + for ( i = 0; i < vals.length; i += 1 ) { + vals[ i ] = this._trimAlignValue( newValues[ i ] ); + this._change( null, i ); + } + this._refreshValue(); + } else { + if ( this.options.values && this.options.values.length ) { + return this._values( index ); + } else { + return this.value(); + } + } + } else { + return this._values(); + } + }, + + _setOption: function( key, value ) { + var i, + valsLength = 0; + + if ( $.isArray( this.options.values ) ) { + valsLength = this.options.values.length; + } + + $.Widget.prototype._setOption.apply( this, arguments ); + + switch ( key ) { + case "disabled": + if ( value ) { + this.handles.filter( ".ui-state-focus" ).blur(); + this.handles.removeClass( "ui-state-hover" ); + this.handles.attr( "disabled", "disabled" ); + this.element.addClass( "ui-disabled" ); + } else { + this.handles.removeAttr( "disabled" ); + this.element.removeClass( "ui-disabled" ); + } + break; + case "orientation": + this._detectOrientation(); + this.element + .removeClass( "ui-slider-horizontal ui-slider-vertical" ) + .addClass( "ui-slider-" + this.orientation ); + this._refreshValue(); + break; + case "value": + this._animateOff = true; + this._refreshValue(); + this._change( null, 0 ); + this._animateOff = false; + break; + case "values": + this._animateOff = true; + this._refreshValue(); + for ( i = 0; i < valsLength; i += 1 ) { + this._change( null, i ); + } + this._animateOff = false; + break; + } + }, + + //internal value getter + // _value() returns value trimmed by min and max, aligned by step + _value: function() { + var val = this.options.value; + val = this._trimAlignValue( val ); + + return val; + }, + + //internal values getter + // _values() returns array of values trimmed by min and max, aligned by step + // _values( index ) returns single value trimmed by min and max, aligned by step + _values: function( index ) { + var val, + vals, + i; + + if ( arguments.length ) { + val = this.options.values[ index ]; + val = this._trimAlignValue( val ); + + return val; + } else { + // .slice() creates a copy of the array + // this copy gets trimmed by min and max and then returned + vals = this.options.values.slice(); + for ( i = 0; i < vals.length; i+= 1) { + vals[ i ] = this._trimAlignValue( vals[ i ] ); + } + + return vals; + } + }, + + // returns the step-aligned value that val is closest to, between (inclusive) min and max + _trimAlignValue: function( val ) { + if ( val <= this._valueMin() ) { + return this._valueMin(); + } + if ( val >= this._valueMax() ) { + return this._valueMax(); + } + var step = ( this.options.step > 0 ) ? this.options.step : 1, + valModStep = (val - this._valueMin()) % step; + alignValue = val - valModStep; + + if ( Math.abs(valModStep) * 2 >= step ) { + alignValue += ( valModStep > 0 ) ? step : ( -step ); + } + + // Since JavaScript has problems with large floats, round + // the final value to 5 digits after the decimal point (see #4124) + return parseFloat( alignValue.toFixed(5) ); + }, + + _valueMin: function() { + return this.options.min; + }, + + _valueMax: function() { + return this.options.max; + }, + + _refreshValue: function() { + var oRange = this.options.range, + o = this.options, + self = this, + animate = ( !this._animateOff ) ? o.animate : false, + valPercent, + _set = {}, + lastValPercent, + value, + valueMin, + valueMax; + + if ( this.options.values && this.options.values.length ) { + this.handles.each(function( i, j ) { + valPercent = ( self.values(i) - self._valueMin() ) / ( self._valueMax() - self._valueMin() ) * 100; + _set[ self.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; + $( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); + if ( self.options.range === true ) { + if ( self.orientation === "horizontal" ) { + if ( i === 0 ) { + self.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { left: valPercent + "%" }, o.animate ); + } + if ( i === 1 ) { + self.range[ animate ? "animate" : "css" ]( { width: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } ); + } + } else { + if ( i === 0 ) { + self.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { bottom: ( valPercent ) + "%" }, o.animate ); + } + if ( i === 1 ) { + self.range[ animate ? "animate" : "css" ]( { height: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } ); + } + } + } + lastValPercent = valPercent; + }); + } else { + value = this.value(); + valueMin = this._valueMin(); + valueMax = this._valueMax(); + valPercent = ( valueMax !== valueMin ) ? + ( value - valueMin ) / ( valueMax - valueMin ) * 100 : + 0; + _set[ self.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; + this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); + + if ( oRange === "min" && this.orientation === "horizontal" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { width: valPercent + "%" }, o.animate ); + } + if ( oRange === "max" && this.orientation === "horizontal" ) { + this.range[ animate ? "animate" : "css" ]( { width: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } ); + } + if ( oRange === "min" && this.orientation === "vertical" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { height: valPercent + "%" }, o.animate ); + } + if ( oRange === "max" && this.orientation === "vertical" ) { + this.range[ animate ? "animate" : "css" ]( { height: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } ); + } + } + } + +}); + +$.extend( $.ui.slider, { + version: "1.8.7" +}); + +}(jQuery)); diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.sortable.js b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.sortable.js new file mode 100644 index 0000000..4134efd --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.sortable.js @@ -0,0 +1,1071 @@ +/* + * jQuery UI Sortable 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Sortables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function( $, undefined ) { + +$.widget("ui.sortable", $.ui.mouse, { + widgetEventPrefix: "sort", + options: { + appendTo: "parent", + axis: false, + connectWith: false, + containment: false, + cursor: 'auto', + cursorAt: false, + dropOnEmpty: true, + forcePlaceholderSize: false, + forceHelperSize: false, + grid: false, + handle: false, + helper: "original", + items: '> *', + opacity: false, + placeholder: false, + revert: false, + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + scope: "default", + tolerance: "intersect", + zIndex: 1000 + }, + _create: function() { + + var o = this.options; + this.containerCache = {}; + this.element.addClass("ui-sortable"); + + //Get the items + this.refresh(); + + //Let's determine if the items are floating + this.floating = this.items.length ? (/left|right/).test(this.items[0].item.css('float')) : false; + + //Let's determine the parent's offset + this.offset = this.element.offset(); + + //Initialize mouse events for interaction + this._mouseInit(); + + }, + + destroy: function() { + this.element + .removeClass("ui-sortable ui-sortable-disabled") + .removeData("sortable") + .unbind(".sortable"); + this._mouseDestroy(); + + for ( var i = this.items.length - 1; i >= 0; i-- ) + this.items[i].item.removeData("sortable-item"); + + return this; + }, + + _setOption: function(key, value){ + if ( key === "disabled" ) { + this.options[ key ] = value; + + this.widget() + [ value ? "addClass" : "removeClass"]( "ui-sortable-disabled" ); + } else { + // Don't call widget base _setOption for disable as it adds ui-state-disabled class + $.Widget.prototype._setOption.apply(this, arguments); + } + }, + + _mouseCapture: function(event, overrideHandle) { + + if (this.reverting) { + return false; + } + + if(this.options.disabled || this.options.type == 'static') return false; + + //We have to refresh the items data once first + this._refreshItems(event); + + //Find out if the clicked node (or one of its parents) is a actual item in this.items + var currentItem = null, self = this, nodes = $(event.target).parents().each(function() { + if($.data(this, 'sortable-item') == self) { + currentItem = $(this); + return false; + } + }); + if($.data(event.target, 'sortable-item') == self) currentItem = $(event.target); + + if(!currentItem) return false; + if(this.options.handle && !overrideHandle) { + var validHandle = false; + + $(this.options.handle, currentItem).find("*").andSelf().each(function() { if(this == event.target) validHandle = true; }); + if(!validHandle) return false; + } + + this.currentItem = currentItem; + this._removeCurrentsFromItems(); + return true; + + }, + + _mouseStart: function(event, overrideHandle, noActivation) { + + var o = this.options, self = this; + this.currentContainer = this; + + //We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture + this.refreshPositions(); + + //Create and append the visible helper + this.helper = this._createHelper(event); + + //Cache the helper size + this._cacheHelperProportions(); + + /* + * - Position generation - + * This block generates everything position related - it's the core of draggables. + */ + + //Cache the margins of the original element + this._cacheMargins(); + + //Get the next scrolling parent + this.scrollParent = this.helper.scrollParent(); + + //The element's absolute position on the page minus margins + this.offset = this.currentItem.offset(); + this.offset = { + top: this.offset.top - this.margins.top, + left: this.offset.left - this.margins.left + }; + + // Only after we got the offset, we can change the helper's position to absolute + // TODO: Still need to figure out a way to make relative sorting possible + this.helper.css("position", "absolute"); + this.cssPosition = this.helper.css("position"); + + $.extend(this.offset, { + click: { //Where the click happened, relative to the element + left: event.pageX - this.offset.left, + top: event.pageY - this.offset.top + }, + parent: this._getParentOffset(), + relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper + }); + + //Generate the original position + this.originalPosition = this._generatePosition(event); + this.originalPageX = event.pageX; + this.originalPageY = event.pageY; + + //Adjust the mouse offset relative to the helper if 'cursorAt' is supplied + (o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt)); + + //Cache the former DOM position + this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] }; + + //If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way + if(this.helper[0] != this.currentItem[0]) { + this.currentItem.hide(); + } + + //Create the placeholder + this._createPlaceholder(); + + //Set a containment if given in the options + if(o.containment) + this._setContainment(); + + if(o.cursor) { // cursor option + if ($('body').css("cursor")) this._storedCursor = $('body').css("cursor"); + $('body').css("cursor", o.cursor); + } + + if(o.opacity) { // opacity option + if (this.helper.css("opacity")) this._storedOpacity = this.helper.css("opacity"); + this.helper.css("opacity", o.opacity); + } + + if(o.zIndex) { // zIndex option + if (this.helper.css("zIndex")) this._storedZIndex = this.helper.css("zIndex"); + this.helper.css("zIndex", o.zIndex); + } + + //Prepare scrolling + if(this.scrollParent[0] != document && this.scrollParent[0].tagName != 'HTML') + this.overflowOffset = this.scrollParent.offset(); + + //Call callbacks + this._trigger("start", event, this._uiHash()); + + //Recache the helper size + if(!this._preserveHelperProportions) + this._cacheHelperProportions(); + + + //Post 'activate' events to possible containers + if(!noActivation) { + for (var i = this.containers.length - 1; i >= 0; i--) { this.containers[i]._trigger("activate", event, self._uiHash(this)); } + } + + //Prepare possible droppables + if($.ui.ddmanager) + $.ui.ddmanager.current = this; + + if ($.ui.ddmanager && !o.dropBehaviour) + $.ui.ddmanager.prepareOffsets(this, event); + + this.dragging = true; + + this.helper.addClass("ui-sortable-helper"); + this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position + return true; + + }, + + _mouseDrag: function(event) { + + //Compute the helpers position + this.position = this._generatePosition(event); + this.positionAbs = this._convertPositionTo("absolute"); + + if (!this.lastPositionAbs) { + this.lastPositionAbs = this.positionAbs; + } + + //Do scrolling + if(this.options.scroll) { + var o = this.options, scrolled = false; + if(this.scrollParent[0] != document && this.scrollParent[0].tagName != 'HTML') { + + if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) + this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed; + else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) + this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed; + + if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) + this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed; + else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) + this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed; + + } else { + + if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) + scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed); + else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) + scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed); + + if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) + scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed); + else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) + scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed); + + } + + if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) + $.ui.ddmanager.prepareOffsets(this, event); + } + + //Regenerate the absolute position used for position checks + this.positionAbs = this._convertPositionTo("absolute"); + + //Set the helper position + if(!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left+'px'; + if(!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top+'px'; + + //Rearrange + for (var i = this.items.length - 1; i >= 0; i--) { + + //Cache variables and intersection, continue if no intersection + var item = this.items[i], itemElement = item.item[0], intersection = this._intersectsWithPointer(item); + if (!intersection) continue; + + if(itemElement != this.currentItem[0] //cannot intersect with itself + && this.placeholder[intersection == 1 ? "next" : "prev"]()[0] != itemElement //no useless actions that have been done before + && !$.ui.contains(this.placeholder[0], itemElement) //no action if the item moved is the parent of the item checked + && (this.options.type == 'semi-dynamic' ? !$.ui.contains(this.element[0], itemElement) : true) + //&& itemElement.parentNode == this.placeholder[0].parentNode // only rearrange items within the same container + ) { + + this.direction = intersection == 1 ? "down" : "up"; + + if (this.options.tolerance == "pointer" || this._intersectsWithSides(item)) { + this._rearrange(event, item); + } else { + break; + } + + this._trigger("change", event, this._uiHash()); + break; + } + } + + //Post events to containers + this._contactContainers(event); + + //Interconnect with droppables + if($.ui.ddmanager) $.ui.ddmanager.drag(this, event); + + //Call callbacks + this._trigger('sort', event, this._uiHash()); + + this.lastPositionAbs = this.positionAbs; + return false; + + }, + + _mouseStop: function(event, noPropagation) { + + if(!event) return; + + //If we are using droppables, inform the manager about the drop + if ($.ui.ddmanager && !this.options.dropBehaviour) + $.ui.ddmanager.drop(this, event); + + if(this.options.revert) { + var self = this; + var cur = self.placeholder.offset(); + + self.reverting = true; + + $(this.helper).animate({ + left: cur.left - this.offset.parent.left - self.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft), + top: cur.top - this.offset.parent.top - self.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) + }, parseInt(this.options.revert, 10) || 500, function() { + self._clear(event); + }); + } else { + this._clear(event, noPropagation); + } + + return false; + + }, + + cancel: function() { + + var self = this; + + if(this.dragging) { + + this._mouseUp(); + + if(this.options.helper == "original") + this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); + else + this.currentItem.show(); + + //Post deactivating events to containers + for (var i = this.containers.length - 1; i >= 0; i--){ + this.containers[i]._trigger("deactivate", null, self._uiHash(this)); + if(this.containers[i].containerCache.over) { + this.containers[i]._trigger("out", null, self._uiHash(this)); + this.containers[i].containerCache.over = 0; + } + } + + } + + //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! + if(this.placeholder[0].parentNode) this.placeholder[0].parentNode.removeChild(this.placeholder[0]); + if(this.options.helper != "original" && this.helper && this.helper[0].parentNode) this.helper.remove(); + + $.extend(this, { + helper: null, + dragging: false, + reverting: false, + _noFinalSort: null + }); + + if(this.domPosition.prev) { + $(this.domPosition.prev).after(this.currentItem); + } else { + $(this.domPosition.parent).prepend(this.currentItem); + } + + return this; + + }, + + serialize: function(o) { + + var items = this._getItemsAsjQuery(o && o.connected); + var str = []; o = o || {}; + + $(items).each(function() { + var res = ($(o.item || this).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/)); + if(res) str.push((o.key || res[1]+'[]')+'='+(o.key && o.expression ? res[1] : res[2])); + }); + + if(!str.length && o.key) { + str.push(o.key + '='); + } + + return str.join('&'); + + }, + + toArray: function(o) { + + var items = this._getItemsAsjQuery(o && o.connected); + var ret = []; o = o || {}; + + items.each(function() { ret.push($(o.item || this).attr(o.attribute || 'id') || ''); }); + return ret; + + }, + + /* Be careful with the following core functions */ + _intersectsWith: function(item) { + + var x1 = this.positionAbs.left, + x2 = x1 + this.helperProportions.width, + y1 = this.positionAbs.top, + y2 = y1 + this.helperProportions.height; + + var l = item.left, + r = l + item.width, + t = item.top, + b = t + item.height; + + var dyClick = this.offset.click.top, + dxClick = this.offset.click.left; + + var isOverElement = (y1 + dyClick) > t && (y1 + dyClick) < b && (x1 + dxClick) > l && (x1 + dxClick) < r; + + if( this.options.tolerance == "pointer" + || this.options.forcePointerForContainers + || (this.options.tolerance != "pointer" && this.helperProportions[this.floating ? 'width' : 'height'] > item[this.floating ? 'width' : 'height']) + ) { + return isOverElement; + } else { + + return (l < x1 + (this.helperProportions.width / 2) // Right Half + && x2 - (this.helperProportions.width / 2) < r // Left Half + && t < y1 + (this.helperProportions.height / 2) // Bottom Half + && y2 - (this.helperProportions.height / 2) < b ); // Top Half + + } + }, + + _intersectsWithPointer: function(item) { + + var isOverElementHeight = $.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height), + isOverElementWidth = $.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width), + isOverElement = isOverElementHeight && isOverElementWidth, + verticalDirection = this._getDragVerticalDirection(), + horizontalDirection = this._getDragHorizontalDirection(); + + if (!isOverElement) + return false; + + return this.floating ? + ( ((horizontalDirection && horizontalDirection == "right") || verticalDirection == "down") ? 2 : 1 ) + : ( verticalDirection && (verticalDirection == "down" ? 2 : 1) ); + + }, + + _intersectsWithSides: function(item) { + + var isOverBottomHalf = $.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height), + isOverRightHalf = $.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width), + verticalDirection = this._getDragVerticalDirection(), + horizontalDirection = this._getDragHorizontalDirection(); + + if (this.floating && horizontalDirection) { + return ((horizontalDirection == "right" && isOverRightHalf) || (horizontalDirection == "left" && !isOverRightHalf)); + } else { + return verticalDirection && ((verticalDirection == "down" && isOverBottomHalf) || (verticalDirection == "up" && !isOverBottomHalf)); + } + + }, + + _getDragVerticalDirection: function() { + var delta = this.positionAbs.top - this.lastPositionAbs.top; + return delta != 0 && (delta > 0 ? "down" : "up"); + }, + + _getDragHorizontalDirection: function() { + var delta = this.positionAbs.left - this.lastPositionAbs.left; + return delta != 0 && (delta > 0 ? "right" : "left"); + }, + + refresh: function(event) { + this._refreshItems(event); + this.refreshPositions(); + return this; + }, + + _connectWith: function() { + var options = this.options; + return options.connectWith.constructor == String + ? [options.connectWith] + : options.connectWith; + }, + + _getItemsAsjQuery: function(connected) { + + var self = this; + var items = []; + var queries = []; + var connectWith = this._connectWith(); + + if(connectWith && connected) { + for (var i = connectWith.length - 1; i >= 0; i--){ + var cur = $(connectWith[i]); + for (var j = cur.length - 1; j >= 0; j--){ + var inst = $.data(cur[j], 'sortable'); + if(inst && inst != this && !inst.options.disabled) { + queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not('.ui-sortable-placeholder'), inst]); + } + }; + }; + } + + queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not('.ui-sortable-placeholder'), this]); + + for (var i = queries.length - 1; i >= 0; i--){ + queries[i][0].each(function() { + items.push(this); + }); + }; + + return $(items); + + }, + + _removeCurrentsFromItems: function() { + + var list = this.currentItem.find(":data(sortable-item)"); + + for (var i=0; i < this.items.length; i++) { + + for (var j=0; j < list.length; j++) { + if(list[j] == this.items[i].item[0]) + this.items.splice(i,1); + }; + + }; + + }, + + _refreshItems: function(event) { + + this.items = []; + this.containers = [this]; + var items = this.items; + var self = this; + var queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]]; + var connectWith = this._connectWith(); + + if(connectWith) { + for (var i = connectWith.length - 1; i >= 0; i--){ + var cur = $(connectWith[i]); + for (var j = cur.length - 1; j >= 0; j--){ + var inst = $.data(cur[j], 'sortable'); + if(inst && inst != this && !inst.options.disabled) { + queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]); + this.containers.push(inst); + } + }; + }; + } + + for (var i = queries.length - 1; i >= 0; i--) { + var targetData = queries[i][1]; + var _queries = queries[i][0]; + + for (var j=0, queriesLength = _queries.length; j < queriesLength; j++) { + var item = $(_queries[j]); + + item.data('sortable-item', targetData); // Data for target checking (mouse manager) + + items.push({ + item: item, + instance: targetData, + width: 0, height: 0, + left: 0, top: 0 + }); + }; + }; + + }, + + refreshPositions: function(fast) { + + //This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change + if(this.offsetParent && this.helper) { + this.offset.parent = this._getParentOffset(); + } + + for (var i = this.items.length - 1; i >= 0; i--){ + var item = this.items[i]; + + var t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item; + + if (!fast) { + item.width = t.outerWidth(); + item.height = t.outerHeight(); + } + + var p = t.offset(); + item.left = p.left; + item.top = p.top; + }; + + if(this.options.custom && this.options.custom.refreshContainers) { + this.options.custom.refreshContainers.call(this); + } else { + for (var i = this.containers.length - 1; i >= 0; i--){ + var p = this.containers[i].element.offset(); + this.containers[i].containerCache.left = p.left; + this.containers[i].containerCache.top = p.top; + this.containers[i].containerCache.width = this.containers[i].element.outerWidth(); + this.containers[i].containerCache.height = this.containers[i].element.outerHeight(); + }; + } + + return this; + }, + + _createPlaceholder: function(that) { + + var self = that || this, o = self.options; + + if(!o.placeholder || o.placeholder.constructor == String) { + var className = o.placeholder; + o.placeholder = { + element: function() { + + var el = $(document.createElement(self.currentItem[0].nodeName)) + .addClass(className || self.currentItem[0].className+" ui-sortable-placeholder") + .removeClass("ui-sortable-helper")[0]; + + if(!className) + el.style.visibility = "hidden"; + + return el; + }, + update: function(container, p) { + + // 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that + // 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified + if(className && !o.forcePlaceholderSize) return; + + //If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item + if(!p.height()) { p.height(self.currentItem.innerHeight() - parseInt(self.currentItem.css('paddingTop')||0, 10) - parseInt(self.currentItem.css('paddingBottom')||0, 10)); }; + if(!p.width()) { p.width(self.currentItem.innerWidth() - parseInt(self.currentItem.css('paddingLeft')||0, 10) - parseInt(self.currentItem.css('paddingRight')||0, 10)); }; + } + }; + } + + //Create the placeholder + self.placeholder = $(o.placeholder.element.call(self.element, self.currentItem)); + + //Append it after the actual current item + self.currentItem.after(self.placeholder); + + //Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317) + o.placeholder.update(self, self.placeholder); + + }, + + _contactContainers: function(event) { + + // get innermost container that intersects with item + var innermostContainer = null, innermostIndex = null; + + + for (var i = this.containers.length - 1; i >= 0; i--){ + + // never consider a container that's located within the item itself + if($.ui.contains(this.currentItem[0], this.containers[i].element[0])) + continue; + + if(this._intersectsWith(this.containers[i].containerCache)) { + + // if we've already found a container and it's more "inner" than this, then continue + if(innermostContainer && $.ui.contains(this.containers[i].element[0], innermostContainer.element[0])) + continue; + + innermostContainer = this.containers[i]; + innermostIndex = i; + + } else { + // container doesn't intersect. trigger "out" event if necessary + if(this.containers[i].containerCache.over) { + this.containers[i]._trigger("out", event, this._uiHash(this)); + this.containers[i].containerCache.over = 0; + } + } + + } + + // if no intersecting containers found, return + if(!innermostContainer) return; + + // move the item into the container if it's not there already + if(this.containers.length === 1) { + this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); + this.containers[innermostIndex].containerCache.over = 1; + } else if(this.currentContainer != this.containers[innermostIndex]) { + + //When entering a new container, we will find the item with the least distance and append our item near it + var dist = 10000; var itemWithLeastDistance = null; var base = this.positionAbs[this.containers[innermostIndex].floating ? 'left' : 'top']; + for (var j = this.items.length - 1; j >= 0; j--) { + if(!$.ui.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) continue; + var cur = this.items[j][this.containers[innermostIndex].floating ? 'left' : 'top']; + if(Math.abs(cur - base) < dist) { + dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j]; + } + } + + if(!itemWithLeastDistance && !this.options.dropOnEmpty) //Check if dropOnEmpty is enabled + return; + + this.currentContainer = this.containers[innermostIndex]; + itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true); + this._trigger("change", event, this._uiHash()); + this.containers[innermostIndex]._trigger("change", event, this._uiHash(this)); + + //Update the placeholder + this.options.placeholder.update(this.currentContainer, this.placeholder); + + this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); + this.containers[innermostIndex].containerCache.over = 1; + } + + + }, + + _createHelper: function(event) { + + var o = this.options; + var helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper == 'clone' ? this.currentItem.clone() : this.currentItem); + + if(!helper.parents('body').length) //Add the helper to the DOM if that didn't happen already + $(o.appendTo != 'parent' ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]); + + if(helper[0] == this.currentItem[0]) + this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") }; + + if(helper[0].style.width == '' || o.forceHelperSize) helper.width(this.currentItem.width()); + if(helper[0].style.height == '' || o.forceHelperSize) helper.height(this.currentItem.height()); + + return helper; + + }, + + _adjustOffsetFromHelper: function(obj) { + if (typeof obj == 'string') { + obj = obj.split(' '); + } + if ($.isArray(obj)) { + obj = {left: +obj[0], top: +obj[1] || 0}; + } + if ('left' in obj) { + this.offset.click.left = obj.left + this.margins.left; + } + if ('right' in obj) { + this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; + } + if ('top' in obj) { + this.offset.click.top = obj.top + this.margins.top; + } + if ('bottom' in obj) { + this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; + } + }, + + _getParentOffset: function() { + + + //Get the offsetParent and cache its position + this.offsetParent = this.helper.offsetParent(); + var po = this.offsetParent.offset(); + + // This is a special case where we need to modify a offset calculated on start, since the following happened: + // 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent + // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that + // the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag + if(this.cssPosition == 'absolute' && this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) { + po.left += this.scrollParent.scrollLeft(); + po.top += this.scrollParent.scrollTop(); + } + + if((this.offsetParent[0] == document.body) //This needs to be actually done for all browsers, since pageX/pageY includes this information + || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == 'html' && $.browser.msie)) //Ugly IE fix + po = { top: 0, left: 0 }; + + return { + top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), + left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0) + }; + + }, + + _getRelativeOffset: function() { + + if(this.cssPosition == "relative") { + var p = this.currentItem.position(); + return { + top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(), + left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft() + }; + } else { + return { top: 0, left: 0 }; + } + + }, + + _cacheMargins: function() { + this.margins = { + left: (parseInt(this.currentItem.css("marginLeft"),10) || 0), + top: (parseInt(this.currentItem.css("marginTop"),10) || 0) + }; + }, + + _cacheHelperProportions: function() { + this.helperProportions = { + width: this.helper.outerWidth(), + height: this.helper.outerHeight() + }; + }, + + _setContainment: function() { + + var o = this.options; + if(o.containment == 'parent') o.containment = this.helper[0].parentNode; + if(o.containment == 'document' || o.containment == 'window') this.containment = [ + 0 - this.offset.relative.left - this.offset.parent.left, + 0 - this.offset.relative.top - this.offset.parent.top, + $(o.containment == 'document' ? document : window).width() - this.helperProportions.width - this.margins.left, + ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top + ]; + + if(!(/^(document|window|parent)$/).test(o.containment)) { + var ce = $(o.containment)[0]; + var co = $(o.containment).offset(); + var over = ($(ce).css("overflow") != 'hidden'); + + this.containment = [ + co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left, + co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top, + co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left, + co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top + ]; + } + + }, + + _convertPositionTo: function(d, pos) { + + if(!pos) pos = this.position; + var mod = d == "absolute" ? 1 : -1; + var o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); + + return { + top: ( + pos.top // The absolute mouse position + + this.offset.relative.top * mod // Only for relative positioned nodes: Relative offset from element to offset parent + + this.offset.parent.top * mod // The offsetParent's offset without borders (offset + border) + - ($.browser.safari && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod) + ), + left: ( + pos.left // The absolute mouse position + + this.offset.relative.left * mod // Only for relative positioned nodes: Relative offset from element to offset parent + + this.offset.parent.left * mod // The offsetParent's offset without borders (offset + border) + - ($.browser.safari && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod) + ) + }; + + }, + + _generatePosition: function(event) { + + var o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); + + // This is another very weird special case that only happens for relative elements: + // 1. If the css position is relative + // 2. and the scroll parent is the document or similar to the offset parent + // we have to refresh the relative offset during the scroll so there are no jumps + if(this.cssPosition == 'relative' && !(this.scrollParent[0] != document && this.scrollParent[0] != this.offsetParent[0])) { + this.offset.relative = this._getRelativeOffset(); + } + + var pageX = event.pageX; + var pageY = event.pageY; + + /* + * - Position constraining - + * Constrain the position to a mix of grid, containment. + */ + + if(this.originalPosition) { //If we are not dragging yet, we won't check for options + + if(this.containment) { + if(event.pageX - this.offset.click.left < this.containment[0]) pageX = this.containment[0] + this.offset.click.left; + if(event.pageY - this.offset.click.top < this.containment[1]) pageY = this.containment[1] + this.offset.click.top; + if(event.pageX - this.offset.click.left > this.containment[2]) pageX = this.containment[2] + this.offset.click.left; + if(event.pageY - this.offset.click.top > this.containment[3]) pageY = this.containment[3] + this.offset.click.top; + } + + if(o.grid) { + var top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1]; + pageY = this.containment ? (!(top - this.offset.click.top < this.containment[1] || top - this.offset.click.top > this.containment[3]) ? top : (!(top - this.offset.click.top < this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; + + var left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0]; + pageX = this.containment ? (!(left - this.offset.click.left < this.containment[0] || left - this.offset.click.left > this.containment[2]) ? left : (!(left - this.offset.click.left < this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; + } + + } + + return { + top: ( + pageY // The absolute mouse position + - this.offset.click.top // Click offset (relative to the element) + - this.offset.relative.top // Only for relative positioned nodes: Relative offset from element to offset parent + - this.offset.parent.top // The offsetParent's offset without borders (offset + border) + + ($.browser.safari && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) )) + ), + left: ( + pageX // The absolute mouse position + - this.offset.click.left // Click offset (relative to the element) + - this.offset.relative.left // Only for relative positioned nodes: Relative offset from element to offset parent + - this.offset.parent.left // The offsetParent's offset without borders (offset + border) + + ($.browser.safari && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() )) + ) + }; + + }, + + _rearrange: function(event, i, a, hardRefresh) { + + a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction == 'down' ? i.item[0] : i.item[0].nextSibling)); + + //Various things done here to improve the performance: + // 1. we create a setTimeout, that calls refreshPositions + // 2. on the instance, we have a counter variable, that get's higher after every append + // 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same + // 4. this lets only the last addition to the timeout stack through + this.counter = this.counter ? ++this.counter : 1; + var self = this, counter = this.counter; + + window.setTimeout(function() { + if(counter == self.counter) self.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove + },0); + + }, + + _clear: function(event, noPropagation) { + + this.reverting = false; + // We delay all events that have to be triggered to after the point where the placeholder has been removed and + // everything else normalized again + var delayedTriggers = [], self = this; + + // We first have to update the dom position of the actual currentItem + // Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088) + if(!this._noFinalSort && this.currentItem[0].parentNode) this.placeholder.before(this.currentItem); + this._noFinalSort = null; + + if(this.helper[0] == this.currentItem[0]) { + for(var i in this._storedCSS) { + if(this._storedCSS[i] == 'auto' || this._storedCSS[i] == 'static') this._storedCSS[i] = ''; + } + this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); + } else { + this.currentItem.show(); + } + + if(this.fromOutside && !noPropagation) delayedTriggers.push(function(event) { this._trigger("receive", event, this._uiHash(this.fromOutside)); }); + if((this.fromOutside || this.domPosition.prev != this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) && !noPropagation) delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed + if(!$.ui.contains(this.element[0], this.currentItem[0])) { //Node was moved out of the current element + if(!noPropagation) delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); }); + for (var i = this.containers.length - 1; i >= 0; i--){ + if($.ui.contains(this.containers[i].element[0], this.currentItem[0]) && !noPropagation) { + delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); }; }).call(this, this.containers[i])); + delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this)); }; }).call(this, this.containers[i])); + } + }; + }; + + //Post events to containers + for (var i = this.containers.length - 1; i >= 0; i--){ + if(!noPropagation) delayedTriggers.push((function(c) { return function(event) { c._trigger("deactivate", event, this._uiHash(this)); }; }).call(this, this.containers[i])); + if(this.containers[i].containerCache.over) { + delayedTriggers.push((function(c) { return function(event) { c._trigger("out", event, this._uiHash(this)); }; }).call(this, this.containers[i])); + this.containers[i].containerCache.over = 0; + } + } + + //Do what was originally in plugins + if(this._storedCursor) $('body').css("cursor", this._storedCursor); //Reset cursor + if(this._storedOpacity) this.helper.css("opacity", this._storedOpacity); //Reset opacity + if(this._storedZIndex) this.helper.css("zIndex", this._storedZIndex == 'auto' ? '' : this._storedZIndex); //Reset z-index + + this.dragging = false; + if(this.cancelHelperRemoval) { + if(!noPropagation) { + this._trigger("beforeStop", event, this._uiHash()); + for (var i=0; i < delayedTriggers.length; i++) { delayedTriggers[i].call(this, event); }; //Trigger all delayed events + this._trigger("stop", event, this._uiHash()); + } + return false; + } + + if(!noPropagation) this._trigger("beforeStop", event, this._uiHash()); + + //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! + this.placeholder[0].parentNode.removeChild(this.placeholder[0]); + + if(this.helper[0] != this.currentItem[0]) this.helper.remove(); this.helper = null; + + if(!noPropagation) { + for (var i=0; i < delayedTriggers.length; i++) { delayedTriggers[i].call(this, event); }; //Trigger all delayed events + this._trigger("stop", event, this._uiHash()); + } + + this.fromOutside = false; + return true; + + }, + + _trigger: function() { + if ($.Widget.prototype._trigger.apply(this, arguments) === false) { + this.cancel(); + } + }, + + _uiHash: function(inst) { + var self = inst || this; + return { + helper: self.helper, + placeholder: self.placeholder || $([]), + position: self.position, + originalPosition: self.originalPosition, + offset: self.positionAbs, + item: self.currentItem, + sender: inst ? inst.element : null + }; + } + +}); + +$.extend($.ui.sortable, { + version: "1.8.7" +}); + +})(jQuery); diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.tabs.js b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.tabs.js new file mode 100644 index 0000000..7a5d162 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.tabs.js @@ -0,0 +1,758 @@ +/* + * jQuery UI Tabs 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function( $, undefined ) { + +var tabId = 0, + listId = 0; + +function getNextTabId() { + return ++tabId; +} + +function getNextListId() { + return ++listId; +} + +$.widget( "ui.tabs", { + options: { + add: null, + ajaxOptions: null, + cache: false, + cookie: null, // e.g. { expires: 7, path: '/', domain: 'jquery.com', secure: true } + collapsible: false, + disable: null, + disabled: [], + enable: null, + event: "click", + fx: null, // e.g. { height: 'toggle', opacity: 'toggle', duration: 200 } + idPrefix: "ui-tabs-", + load: null, + panelTemplate: "
        ", + remove: null, + select: null, + show: null, + spinner: "Loading…", + tabTemplate: "
      • #{label}
      • " + }, + + _create: function() { + this._tabify( true ); + }, + + _setOption: function( key, value ) { + if ( key == "selected" ) { + if (this.options.collapsible && value == this.options.selected ) { + return; + } + this.select( value ); + } else { + this.options[ key ] = value; + this._tabify(); + } + }, + + _tabId: function( a ) { + return a.title && a.title.replace( /\s/g, "_" ).replace( /[^\w\u00c0-\uFFFF-]/g, "" ) || + this.options.idPrefix + getNextTabId(); + }, + + _sanitizeSelector: function( hash ) { + // we need this because an id may contain a ":" + return hash.replace( /:/g, "\\:" ); + }, + + _cookie: function() { + var cookie = this.cookie || + ( this.cookie = this.options.cookie.name || "ui-tabs-" + getNextListId() ); + return $.cookie.apply( null, [ cookie ].concat( $.makeArray( arguments ) ) ); + }, + + _ui: function( tab, panel ) { + return { + tab: tab, + panel: panel, + index: this.anchors.index( tab ) + }; + }, + + _cleanup: function() { + // restore all former loading tabs labels + this.lis.filter( ".ui-state-processing" ) + .removeClass( "ui-state-processing" ) + .find( "span:data(label.tabs)" ) + .each(function() { + var el = $( this ); + el.html( el.data( "label.tabs" ) ).removeData( "label.tabs" ); + }); + }, + + _tabify: function( init ) { + var self = this, + o = this.options, + fragmentId = /^#.+/; // Safari 2 reports '#' for an empty hash + + this.list = this.element.find( "ol,ul" ).eq( 0 ); + this.lis = $( " > li:has(a[href])", this.list ); + this.anchors = this.lis.map(function() { + return $( "a", this )[ 0 ]; + }); + this.panels = $( [] ); + + this.anchors.each(function( i, a ) { + var href = $( a ).attr( "href" ); + // For dynamically created HTML that contains a hash as href IE < 8 expands + // such href to the full page url with hash and then misinterprets tab as ajax. + // Same consideration applies for an added tab with a fragment identifier + // since a[href=#fragment-identifier] does unexpectedly not match. + // Thus normalize href attribute... + var hrefBase = href.split( "#" )[ 0 ], + baseEl; + if ( hrefBase && ( hrefBase === location.toString().split( "#" )[ 0 ] || + ( baseEl = $( "base" )[ 0 ]) && hrefBase === baseEl.href ) ) { + href = a.hash; + a.href = href; + } + + // inline tab + if ( fragmentId.test( href ) ) { + self.panels = self.panels.add( self.element.find( self._sanitizeSelector( href ) ) ); + // remote tab + // prevent loading the page itself if href is just "#" + } else if ( href && href !== "#" ) { + // required for restore on destroy + $.data( a, "href.tabs", href ); + + // TODO until #3808 is fixed strip fragment identifier from url + // (IE fails to load from such url) + $.data( a, "load.tabs", href.replace( /#.*$/, "" ) ); + + var id = self._tabId( a ); + a.href = "#" + id; + var $panel = self.element.find( "#" + id ); + if ( !$panel.length ) { + $panel = $( o.panelTemplate ) + .attr( "id", id ) + .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) + .insertAfter( self.panels[ i - 1 ] || self.list ); + $panel.data( "destroy.tabs", true ); + } + self.panels = self.panels.add( $panel ); + // invalid tab href + } else { + o.disabled.push( i ); + } + }); + + // initialization from scratch + if ( init ) { + // attach necessary classes for styling + this.element.addClass( "ui-tabs ui-widget ui-widget-content ui-corner-all" ); + this.list.addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ); + this.lis.addClass( "ui-state-default ui-corner-top" ); + this.panels.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" ); + + // Selected tab + // use "selected" option or try to retrieve: + // 1. from fragment identifier in url + // 2. from cookie + // 3. from selected class attribute on
      • + if ( o.selected === undefined ) { + if ( location.hash ) { + this.anchors.each(function( i, a ) { + if ( a.hash == location.hash ) { + o.selected = i; + return false; + } + }); + } + if ( typeof o.selected !== "number" && o.cookie ) { + o.selected = parseInt( self._cookie(), 10 ); + } + if ( typeof o.selected !== "number" && this.lis.filter( ".ui-tabs-selected" ).length ) { + o.selected = this.lis.index( this.lis.filter( ".ui-tabs-selected" ) ); + } + o.selected = o.selected || ( this.lis.length ? 0 : -1 ); + } else if ( o.selected === null ) { // usage of null is deprecated, TODO remove in next release + o.selected = -1; + } + + // sanity check - default to first tab... + o.selected = ( ( o.selected >= 0 && this.anchors[ o.selected ] ) || o.selected < 0 ) + ? o.selected + : 0; + + // Take disabling tabs via class attribute from HTML + // into account and update option properly. + // A selected tab cannot become disabled. + o.disabled = $.unique( o.disabled.concat( + $.map( this.lis.filter( ".ui-state-disabled" ), function( n, i ) { + return self.lis.index( n ); + }) + ) ).sort(); + + if ( $.inArray( o.selected, o.disabled ) != -1 ) { + o.disabled.splice( $.inArray( o.selected, o.disabled ), 1 ); + } + + // highlight selected tab + this.panels.addClass( "ui-tabs-hide" ); + this.lis.removeClass( "ui-tabs-selected ui-state-active" ); + // check for length avoids error when initializing empty list + if ( o.selected >= 0 && this.anchors.length ) { + self.element.find( self._sanitizeSelector( self.anchors[ o.selected ].hash ) ).removeClass( "ui-tabs-hide" ); + this.lis.eq( o.selected ).addClass( "ui-tabs-selected ui-state-active" ); + + // seems to be expected behavior that the show callback is fired + self.element.queue( "tabs", function() { + self._trigger( "show", null, + self._ui( self.anchors[ o.selected ], self.element.find( self._sanitizeSelector( self.anchors[ o.selected ].hash ) ) ) ); + }); + + this.load( o.selected ); + } + + // clean up to avoid memory leaks in certain versions of IE 6 + // TODO: namespace this event + $( window ).bind( "unload", function() { + self.lis.add( self.anchors ).unbind( ".tabs" ); + self.lis = self.anchors = self.panels = null; + }); + // update selected after add/remove + } else { + o.selected = this.lis.index( this.lis.filter( ".ui-tabs-selected" ) ); + } + + // update collapsible + // TODO: use .toggleClass() + this.element[ o.collapsible ? "addClass" : "removeClass" ]( "ui-tabs-collapsible" ); + + // set or update cookie after init and add/remove respectively + if ( o.cookie ) { + this._cookie( o.selected, o.cookie ); + } + + // disable tabs + for ( var i = 0, li; ( li = this.lis[ i ] ); i++ ) { + $( li )[ $.inArray( i, o.disabled ) != -1 && + // TODO: use .toggleClass() + !$( li ).hasClass( "ui-tabs-selected" ) ? "addClass" : "removeClass" ]( "ui-state-disabled" ); + } + + // reset cache if switching from cached to not cached + if ( o.cache === false ) { + this.anchors.removeData( "cache.tabs" ); + } + + // remove all handlers before, tabify may run on existing tabs after add or option change + this.lis.add( this.anchors ).unbind( ".tabs" ); + + if ( o.event !== "mouseover" ) { + var addState = function( state, el ) { + if ( el.is( ":not(.ui-state-disabled)" ) ) { + el.addClass( "ui-state-" + state ); + } + }; + var removeState = function( state, el ) { + el.removeClass( "ui-state-" + state ); + }; + this.lis.bind( "mouseover.tabs" , function() { + addState( "hover", $( this ) ); + }); + this.lis.bind( "mouseout.tabs", function() { + removeState( "hover", $( this ) ); + }); + this.anchors.bind( "focus.tabs", function() { + addState( "focus", $( this ).closest( "li" ) ); + }); + this.anchors.bind( "blur.tabs", function() { + removeState( "focus", $( this ).closest( "li" ) ); + }); + } + + // set up animations + var hideFx, showFx; + if ( o.fx ) { + if ( $.isArray( o.fx ) ) { + hideFx = o.fx[ 0 ]; + showFx = o.fx[ 1 ]; + } else { + hideFx = showFx = o.fx; + } + } + + // Reset certain styles left over from animation + // and prevent IE's ClearType bug... + function resetStyle( $el, fx ) { + $el.css( "display", "" ); + if ( !$.support.opacity && fx.opacity ) { + $el[ 0 ].style.removeAttribute( "filter" ); + } + } + + // Show a tab... + var showTab = showFx + ? function( clicked, $show ) { + $( clicked ).closest( "li" ).addClass( "ui-tabs-selected ui-state-active" ); + $show.hide().removeClass( "ui-tabs-hide" ) // avoid flicker that way + .animate( showFx, showFx.duration || "normal", function() { + resetStyle( $show, showFx ); + self._trigger( "show", null, self._ui( clicked, $show[ 0 ] ) ); + }); + } + : function( clicked, $show ) { + $( clicked ).closest( "li" ).addClass( "ui-tabs-selected ui-state-active" ); + $show.removeClass( "ui-tabs-hide" ); + self._trigger( "show", null, self._ui( clicked, $show[ 0 ] ) ); + }; + + // Hide a tab, $show is optional... + var hideTab = hideFx + ? function( clicked, $hide ) { + $hide.animate( hideFx, hideFx.duration || "normal", function() { + self.lis.removeClass( "ui-tabs-selected ui-state-active" ); + $hide.addClass( "ui-tabs-hide" ); + resetStyle( $hide, hideFx ); + self.element.dequeue( "tabs" ); + }); + } + : function( clicked, $hide, $show ) { + self.lis.removeClass( "ui-tabs-selected ui-state-active" ); + $hide.addClass( "ui-tabs-hide" ); + self.element.dequeue( "tabs" ); + }; + + // attach tab event handler, unbind to avoid duplicates from former tabifying... + this.anchors.bind( o.event + ".tabs", function() { + var el = this, + $li = $(el).closest( "li" ), + $hide = self.panels.filter( ":not(.ui-tabs-hide)" ), + $show = self.element.find( self._sanitizeSelector( el.hash ) ); + + // If tab is already selected and not collapsible or tab disabled or + // or is already loading or click callback returns false stop here. + // Check if click handler returns false last so that it is not executed + // for a disabled or loading tab! + if ( ( $li.hasClass( "ui-tabs-selected" ) && !o.collapsible) || + $li.hasClass( "ui-state-disabled" ) || + $li.hasClass( "ui-state-processing" ) || + self.panels.filter( ":animated" ).length || + self._trigger( "select", null, self._ui( this, $show[ 0 ] ) ) === false ) { + this.blur(); + return false; + } + + o.selected = self.anchors.index( this ); + + self.abort(); + + // if tab may be closed + if ( o.collapsible ) { + if ( $li.hasClass( "ui-tabs-selected" ) ) { + o.selected = -1; + + if ( o.cookie ) { + self._cookie( o.selected, o.cookie ); + } + + self.element.queue( "tabs", function() { + hideTab( el, $hide ); + }).dequeue( "tabs" ); + + this.blur(); + return false; + } else if ( !$hide.length ) { + if ( o.cookie ) { + self._cookie( o.selected, o.cookie ); + } + + self.element.queue( "tabs", function() { + showTab( el, $show ); + }); + + // TODO make passing in node possible, see also http://dev.jqueryui.com/ticket/3171 + self.load( self.anchors.index( this ) ); + + this.blur(); + return false; + } + } + + if ( o.cookie ) { + self._cookie( o.selected, o.cookie ); + } + + // show new tab + if ( $show.length ) { + if ( $hide.length ) { + self.element.queue( "tabs", function() { + hideTab( el, $hide ); + }); + } + self.element.queue( "tabs", function() { + showTab( el, $show ); + }); + + self.load( self.anchors.index( this ) ); + } else { + throw "jQuery UI Tabs: Mismatching fragment identifier."; + } + + // Prevent IE from keeping other link focussed when using the back button + // and remove dotted border from clicked link. This is controlled via CSS + // in modern browsers; blur() removes focus from address bar in Firefox + // which can become a usability and annoying problem with tabs('rotate'). + if ( $.browser.msie ) { + this.blur(); + } + }); + + // disable click in any case + this.anchors.bind( "click.tabs", function(){ + return false; + }); + }, + + _getIndex: function( index ) { + // meta-function to give users option to provide a href string instead of a numerical index. + // also sanitizes numerical indexes to valid values. + if ( typeof index == "string" ) { + index = this.anchors.index( this.anchors.filter( "[href$=" + index + "]" ) ); + } + + return index; + }, + + destroy: function() { + var o = this.options; + + this.abort(); + + this.element + .unbind( ".tabs" ) + .removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" ) + .removeData( "tabs" ); + + this.list.removeClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ); + + this.anchors.each(function() { + var href = $.data( this, "href.tabs" ); + if ( href ) { + this.href = href; + } + var $this = $( this ).unbind( ".tabs" ); + $.each( [ "href", "load", "cache" ], function( i, prefix ) { + $this.removeData( prefix + ".tabs" ); + }); + }); + + this.lis.unbind( ".tabs" ).add( this.panels ).each(function() { + if ( $.data( this, "destroy.tabs" ) ) { + $( this ).remove(); + } else { + $( this ).removeClass([ + "ui-state-default", + "ui-corner-top", + "ui-tabs-selected", + "ui-state-active", + "ui-state-hover", + "ui-state-focus", + "ui-state-disabled", + "ui-tabs-panel", + "ui-widget-content", + "ui-corner-bottom", + "ui-tabs-hide" + ].join( " " ) ); + } + }); + + if ( o.cookie ) { + this._cookie( null, o.cookie ); + } + + return this; + }, + + add: function( url, label, index ) { + if ( index === undefined ) { + index = this.anchors.length; + } + + var self = this, + o = this.options, + $li = $( o.tabTemplate.replace( /#\{href\}/g, url ).replace( /#\{label\}/g, label ) ), + id = !url.indexOf( "#" ) ? url.replace( "#", "" ) : this._tabId( $( "a", $li )[ 0 ] ); + + $li.addClass( "ui-state-default ui-corner-top" ).data( "destroy.tabs", true ); + + // try to find an existing element before creating a new one + var $panel = self.element.find( "#" + id ); + if ( !$panel.length ) { + $panel = $( o.panelTemplate ) + .attr( "id", id ) + .data( "destroy.tabs", true ); + } + $panel.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" ); + + if ( index >= this.lis.length ) { + $li.appendTo( this.list ); + $panel.appendTo( this.list[ 0 ].parentNode ); + } else { + $li.insertBefore( this.lis[ index ] ); + $panel.insertBefore( this.panels[ index ] ); + } + + o.disabled = $.map( o.disabled, function( n, i ) { + return n >= index ? ++n : n; + }); + + this._tabify(); + + if ( this.anchors.length == 1 ) { + o.selected = 0; + $li.addClass( "ui-tabs-selected ui-state-active" ); + $panel.removeClass( "ui-tabs-hide" ); + this.element.queue( "tabs", function() { + self._trigger( "show", null, self._ui( self.anchors[ 0 ], self.panels[ 0 ] ) ); + }); + + this.load( 0 ); + } + + this._trigger( "add", null, this._ui( this.anchors[ index ], this.panels[ index ] ) ); + return this; + }, + + remove: function( index ) { + index = this._getIndex( index ); + var o = this.options, + $li = this.lis.eq( index ).remove(), + $panel = this.panels.eq( index ).remove(); + + // If selected tab was removed focus tab to the right or + // in case the last tab was removed the tab to the left. + if ( $li.hasClass( "ui-tabs-selected" ) && this.anchors.length > 1) { + this.select( index + ( index + 1 < this.anchors.length ? 1 : -1 ) ); + } + + o.disabled = $.map( + $.grep( o.disabled, function(n, i) { + return n != index; + }), + function( n, i ) { + return n >= index ? --n : n; + }); + + this._tabify(); + + this._trigger( "remove", null, this._ui( $li.find( "a" )[ 0 ], $panel[ 0 ] ) ); + return this; + }, + + enable: function( index ) { + index = this._getIndex( index ); + var o = this.options; + if ( $.inArray( index, o.disabled ) == -1 ) { + return; + } + + this.lis.eq( index ).removeClass( "ui-state-disabled" ); + o.disabled = $.grep( o.disabled, function( n, i ) { + return n != index; + }); + + this._trigger( "enable", null, this._ui( this.anchors[ index ], this.panels[ index ] ) ); + return this; + }, + + disable: function( index ) { + index = this._getIndex( index ); + var self = this, o = this.options; + // cannot disable already selected tab + if ( index != o.selected ) { + this.lis.eq( index ).addClass( "ui-state-disabled" ); + + o.disabled.push( index ); + o.disabled.sort(); + + this._trigger( "disable", null, this._ui( this.anchors[ index ], this.panels[ index ] ) ); + } + + return this; + }, + + select: function( index ) { + index = this._getIndex( index ); + if ( index == -1 ) { + if ( this.options.collapsible && this.options.selected != -1 ) { + index = this.options.selected; + } else { + return this; + } + } + this.anchors.eq( index ).trigger( this.options.event + ".tabs" ); + return this; + }, + + load: function( index ) { + index = this._getIndex( index ); + var self = this, + o = this.options, + a = this.anchors.eq( index )[ 0 ], + url = $.data( a, "load.tabs" ); + + this.abort(); + + // not remote or from cache + if ( !url || this.element.queue( "tabs" ).length !== 0 && $.data( a, "cache.tabs" ) ) { + this.element.dequeue( "tabs" ); + return; + } + + // load remote from here on + this.lis.eq( index ).addClass( "ui-state-processing" ); + + if ( o.spinner ) { + var span = $( "span", a ); + span.data( "label.tabs", span.html() ).html( o.spinner ); + } + + this.xhr = $.ajax( $.extend( {}, o.ajaxOptions, { + url: url, + success: function( r, s ) { + self.element.find( self._sanitizeSelector( a.hash ) ).html( r ); + + // take care of tab labels + self._cleanup(); + + if ( o.cache ) { + $.data( a, "cache.tabs", true ); + } + + self._trigger( "load", null, self._ui( self.anchors[ index ], self.panels[ index ] ) ); + try { + o.ajaxOptions.success( r, s ); + } + catch ( e ) {} + }, + error: function( xhr, s, e ) { + // take care of tab labels + self._cleanup(); + + self._trigger( "load", null, self._ui( self.anchors[ index ], self.panels[ index ] ) ); + try { + // Passing index avoid a race condition when this method is + // called after the user has selected another tab. + // Pass the anchor that initiated this request allows + // loadError to manipulate the tab content panel via $(a.hash) + o.ajaxOptions.error( xhr, s, index, a ); + } + catch ( e ) {} + } + } ) ); + + // last, so that load event is fired before show... + self.element.dequeue( "tabs" ); + + return this; + }, + + abort: function() { + // stop possibly running animations + this.element.queue( [] ); + this.panels.stop( false, true ); + + // "tabs" queue must not contain more than two elements, + // which are the callbacks for the latest clicked tab... + this.element.queue( "tabs", this.element.queue( "tabs" ).splice( -2, 2 ) ); + + // terminate pending requests from other tabs + if ( this.xhr ) { + this.xhr.abort(); + delete this.xhr; + } + + // take care of tab labels + this._cleanup(); + return this; + }, + + url: function( index, url ) { + this.anchors.eq( index ).removeData( "cache.tabs" ).data( "load.tabs", url ); + return this; + }, + + length: function() { + return this.anchors.length; + } +}); + +$.extend( $.ui.tabs, { + version: "1.8.7" +}); + +/* + * Tabs Extensions + */ + +/* + * Rotate + */ +$.extend( $.ui.tabs.prototype, { + rotation: null, + rotate: function( ms, continuing ) { + var self = this, + o = this.options; + + var rotate = self._rotate || ( self._rotate = function( e ) { + clearTimeout( self.rotation ); + self.rotation = setTimeout(function() { + var t = o.selected; + self.select( ++t < self.anchors.length ? t : 0 ); + }, ms ); + + if ( e ) { + e.stopPropagation(); + } + }); + + var stop = self._unrotate || ( self._unrotate = !continuing + ? function(e) { + if (e.clientX) { // in case of a true click + self.rotate(null); + } + } + : function( e ) { + t = o.selected; + rotate(); + }); + + // start rotation + if ( ms ) { + this.element.bind( "tabsshow", rotate ); + this.anchors.bind( o.event + ".tabs", stop ); + rotate(); + // stop rotation + } else { + clearTimeout( self.rotation ); + this.element.unbind( "tabsshow", rotate ); + this.anchors.unbind( o.event + ".tabs", stop ); + delete this._rotate; + delete this._unrotate; + } + + return this; + } +}); + +})( jQuery ); diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.widget.js b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.widget.js new file mode 100644 index 0000000..a19e82a --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/js/jquery.ui.widget.js @@ -0,0 +1,262 @@ +/*! + * jQuery UI Widget 1.8.7 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function( $, undefined ) { + +// jQuery 1.4+ +if ( $.cleanData ) { + var _cleanData = $.cleanData; + $.cleanData = function( elems ) { + for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { + $( elem ).triggerHandler( "remove" ); + } + _cleanData( elems ); + }; +} else { + var _remove = $.fn.remove; + $.fn.remove = function( selector, keepData ) { + return this.each(function() { + if ( !keepData ) { + if ( !selector || $.filter( selector, [ this ] ).length ) { + $( "*", this ).add( [ this ] ).each(function() { + $( this ).triggerHandler( "remove" ); + }); + } + } + return _remove.call( $(this), selector, keepData ); + }); + }; +} + +$.widget = function( name, base, prototype ) { + var namespace = name.split( "." )[ 0 ], + fullName; + name = name.split( "." )[ 1 ]; + fullName = namespace + "-" + name; + + if ( !prototype ) { + prototype = base; + base = $.Widget; + } + + // create selector for plugin + $.expr[ ":" ][ fullName ] = function( elem ) { + return !!$.data( elem, name ); + }; + + $[ namespace ] = $[ namespace ] || {}; + $[ namespace ][ name ] = function( options, element ) { + // allow instantiation without initializing for simple inheritance + if ( arguments.length ) { + this._createWidget( options, element ); + } + }; + + var basePrototype = new base(); + // we need to make the options hash a property directly on the new instance + // otherwise we'll modify the options hash on the prototype that we're + // inheriting from +// $.each( basePrototype, function( key, val ) { +// if ( $.isPlainObject(val) ) { +// basePrototype[ key ] = $.extend( {}, val ); +// } +// }); + basePrototype.options = $.extend( true, {}, basePrototype.options ); + $[ namespace ][ name ].prototype = $.extend( true, basePrototype, { + namespace: namespace, + widgetName: name, + widgetEventPrefix: $[ namespace ][ name ].prototype.widgetEventPrefix || name, + widgetBaseClass: fullName + }, prototype ); + + $.widget.bridge( name, $[ namespace ][ name ] ); +}; + +$.widget.bridge = function( name, object ) { + $.fn[ name ] = function( options ) { + var isMethodCall = typeof options === "string", + args = Array.prototype.slice.call( arguments, 1 ), + returnValue = this; + + // allow multiple hashes to be passed on init + options = !isMethodCall && args.length ? + $.extend.apply( null, [ true, options ].concat(args) ) : + options; + + // prevent calls to internal methods + if ( isMethodCall && options.charAt( 0 ) === "_" ) { + return returnValue; + } + + if ( isMethodCall ) { + this.each(function() { + var instance = $.data( this, name ), + methodValue = instance && $.isFunction( instance[options] ) ? + instance[ options ].apply( instance, args ) : + instance; + // TODO: add this back in 1.9 and use $.error() (see #5972) +// if ( !instance ) { +// throw "cannot call methods on " + name + " prior to initialization; " + +// "attempted to call method '" + options + "'"; +// } +// if ( !$.isFunction( instance[options] ) ) { +// throw "no such method '" + options + "' for " + name + " widget instance"; +// } +// var methodValue = instance[ options ].apply( instance, args ); + if ( methodValue !== instance && methodValue !== undefined ) { + returnValue = methodValue; + return false; + } + }); + } else { + this.each(function() { + var instance = $.data( this, name ); + if ( instance ) { + instance.option( options || {} )._init(); + } else { + $.data( this, name, new object( options, this ) ); + } + }); + } + + return returnValue; + }; +}; + +$.Widget = function( options, element ) { + // allow instantiation without initializing for simple inheritance + if ( arguments.length ) { + this._createWidget( options, element ); + } +}; + +$.Widget.prototype = { + widgetName: "widget", + widgetEventPrefix: "", + options: { + disabled: false + }, + _createWidget: function( options, element ) { + // $.widget.bridge stores the plugin instance, but we do it anyway + // so that it's stored even before the _create function runs + $.data( element, this.widgetName, this ); + this.element = $( element ); + this.options = $.extend( true, {}, + this.options, + this._getCreateOptions(), + options ); + + var self = this; + this.element.bind( "remove." + this.widgetName, function() { + self.destroy(); + }); + + this._create(); + this._trigger( "create" ); + this._init(); + }, + _getCreateOptions: function() { + return $.metadata && $.metadata.get( this.element[0] )[ this.widgetName ]; + }, + _create: function() {}, + _init: function() {}, + + destroy: function() { + this.element + .unbind( "." + this.widgetName ) + .removeData( this.widgetName ); + this.widget() + .unbind( "." + this.widgetName ) + .removeAttr( "aria-disabled" ) + .removeClass( + this.widgetBaseClass + "-disabled " + + "ui-state-disabled" ); + }, + + widget: function() { + return this.element; + }, + + option: function( key, value ) { + var options = key; + + if ( arguments.length === 0 ) { + // don't return a reference to the internal hash + return $.extend( {}, this.options ); + } + + if (typeof key === "string" ) { + if ( value === undefined ) { + return this.options[ key ]; + } + options = {}; + options[ key ] = value; + } + + this._setOptions( options ); + + return this; + }, + _setOptions: function( options ) { + var self = this; + $.each( options, function( key, value ) { + self._setOption( key, value ); + }); + + return this; + }, + _setOption: function( key, value ) { + this.options[ key ] = value; + + if ( key === "disabled" ) { + this.widget() + [ value ? "addClass" : "removeClass"]( + this.widgetBaseClass + "-disabled" + " " + + "ui-state-disabled" ) + .attr( "aria-disabled", value ); + } + + return this; + }, + + enable: function() { + return this._setOption( "disabled", false ); + }, + disable: function() { + return this._setOption( "disabled", true ); + }, + + _trigger: function( type, event, data ) { + var callback = this.options[ type ]; + + event = $.Event( event ); + event.type = ( type === this.widgetEventPrefix ? + type : + this.widgetEventPrefix + type ).toLowerCase(); + data = data || {}; + + // copy original event properties over to the new event + // this would happen if we could call $.event.fix instead of $.Event + // but we don't have a way to force an event to be fixed multiple times + if ( event.originalEvent ) { + for ( var i = $.event.props.length, prop; i; ) { + prop = $.event.props[ --i ]; + event[ prop ] = event.originalEvent[ prop ]; + } + } + + this.element.trigger( event, data ); + + return !( $.isFunction(callback) && + callback.call( this.element[0], event, data ) === false || + event.isDefaultPrevented() ); + } +}; + +})( jQuery ); diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/option_panel/ajax.php b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/option_panel/ajax.php new file mode 100644 index 0000000..639a5fb --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/option_panel/ajax.php @@ -0,0 +1,22 @@ +

        Theme Settings Saved !

        '.$pluginname.' settings reset.

      • '; + +?> + +
        +
        +
        + + + " id="option_path" /> +
        +
        +

        Option Panel Version : 5.0

        +
        +
        + + +
        +
        + +
        + + +
        + + " /> + + + + +
        + +
        + + " /> + Upload Image + + +
        + + +
        + +
        #
        " /> + + + + + +
        + +
        + +
        + " /> + " /> + + "class='slider-text' />
        + + + +
        + +
        + + + + + +
        + +
        + +
        + +
        + + + +
        + +
        + + + /> + + + +
        + +
        + +
        + +
        + + + + + + + +
        + value="true" /> + value="false"/> +
        + + + + + + + +
        + +
        + + + +
        "; + $description = "

        ".__($value["description"], 'h-framework')."

        "; ?> + + '.__($value['name'], 'h-framework').'
        '; + echo "
        "; + ?> + + + + + + + + + "; break; + } + } +?> + + + +
        + + +
        + + +
        + +
        + +
        + + + + \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/option_panel/options.php b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/option_panel/options.php new file mode 100644 index 0000000..2448d34 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/hades_framework/option_panel/options.php @@ -0,0 +1,108 @@ + "Menu", + "type" => "section" + ), + + array( + "name" => $themename." Options", + "type" => "information", + "description" => "In this option panel your able to change the basic setting of Ambience. Just follow the info besides the functions and you will be ready in a snap." + ), + + array( "type" => "open"), + + // ======================================Sub Panel 1 Begins ====================================== + + array( + "name" => "→ Menu Settings" , + "type"=>"subtitle", + "id"=>"colorschemes" + ), + + + + array( + "name" => "Styles", + "desc" => "", + "id" => $shortname."_style", + "type" => "select", + "options" => array("style1","style2","style3","style4","style5","style6","style7","style8"), + "std" => "style5" + ), + + array( + "name" => "Alignment", + "desc" => "", + "id" => $shortname."_align", + "type" => "select", + "options" => array("bottom","top"), + "std" => "bottom" + ), + + + array( + "name" => "Width", + "desc" => "", + "id" => $shortname."_width", + "type" => "select", + "options" => array("980px","Full"), + "std" => "Defined" + ), + + + + + + array( + "name" => "Animate In effect", + "desc" => "", + "id" => $shortname."_fadein_effect", + "type" => "select", + "options" => array("fade","slide",'show','showanimate'), + "std" => "bottom" + ), + + array( + "name" => "Animate Out effect", + "desc" => "", + "id" => $shortname."_fadeout_effect", + "type" => "select", + "options" => array("fade","slide",'hide','hideanimate'), + "std" => "bottom" + ), + + + + array("type"=>"close_subtitle"), + + + + // ================================ End of Sub panel ============================================== + array( "type" => "close"), + + + + + +); + diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/init.php b/src/wp-content/plugins/sticky_menu/sticky_menu/init.php new file mode 100644 index 0000000..79fc86d --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/init.php @@ -0,0 +1,34 @@ + +"; + if(function_exists("wp_nav_menu")) + { + wp_nav_menu(array( + 'theme_location'=>'sticky_menu', + 'container'=>'', + 'depth' => 3, + 'menu_id' => 'sticky_menu', + 'walker' => new Sticky_Menu_Frontend() ) + ); + } + + echo ""; +} + +add_action("wp_footer","add_stickymenu"); + + +?> \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style1-bg-hover.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style1-bg-hover.png new file mode 100644 index 0000000..16734ad Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style1-bg-hover.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style1-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style1-bg.png new file mode 100644 index 0000000..42106d1 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style1-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style2-bg-hover.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style2-bg-hover.png new file mode 100644 index 0000000..9c6ca53 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style2-bg-hover.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style2-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style2-bg.png new file mode 100644 index 0000000..240479a Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style2-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style3-bg-hover.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style3-bg-hover.png new file mode 100644 index 0000000..96d8adc Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style3-bg-hover.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style3-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style3-bg.png new file mode 100644 index 0000000..a4ad53e Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style3-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style4-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style4-bg.png new file mode 100644 index 0000000..58c97dd Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style4-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style5-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style5-bg.png new file mode 100644 index 0000000..4e65156 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style5-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style6-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style6-bg.png new file mode 100644 index 0000000..98b1132 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style6-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style7-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style7-bg.png new file mode 100644 index 0000000..6fb1c80 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style7-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style8-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style8-bg.png new file mode 100644 index 0000000..400709e Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/style8-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg-d.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg-d.png new file mode 100644 index 0000000..29d121d Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg-d.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg-r.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg-r.png new file mode 100644 index 0000000..86b4f54 Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg-r.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg-t.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg-t.png new file mode 100644 index 0000000..6d48bad Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg-t.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg-w.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg-w.png new file mode 100644 index 0000000..78892df Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg-w.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg.png b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg.png new file mode 100644 index 0000000..f85a51f Binary files /dev/null and b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/i/sub-menu-bg.png differ diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/sticky_menu.css b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/sticky_menu.css new file mode 100644 index 0000000..cef0ad9 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/css/sticky_menu.css @@ -0,0 +1,1094 @@ +/* CSS Document */ + +.clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} +.clearfix { + display: inline-block; + *zoom: 1; +} +* html .clearfix { height: 1% } /* ===[ Hides from IE-mac \ ]=== */ +.clearfix { display: block } +.sticky_menu_980px #sticky_menu { + left: 50%; + margin: 0 0 0 -490px!important; + width: 980px!important; +} +.sticky_menu_Full #sticky_menu { + left: 0; + margin: 0!important; + width: 100%; +} +.sticky_menu_bottom #sticky_menu { bottom: -1px } +.sticky_menu_bottom #sticky_menu>li>ul.sub-menu { + position: absolute; + z-index: 9; + bottom: 38px; + left: -1px; + display: none; +} +.sticky_menu_bottom #sticky_menu>li>ul.sub-menu ul { + position: absolute; + z-index: 9; + top: -5px!important; + left: 170px; + display: block; + width: 180px; + display: none; +} +.sticky_menu_bottom #sticky_menu div.sub-menu { + position: absolute; + z-index: 9; + bottom: 38px; + left: -1px; + display: block; + display: none; + margin: 0!important; +} +.sticky_menu_top #sticky_menu { top: -1px } +.sticky_menu_top #sticky_menu>li>ul.sub-menu { + position: absolute; + z-index: 9; + top: 40px; + left: 0px; + display: none; +} +.sticky_menu_top #sticky_menu>li>ul.sub-menu ul { + position: absolute; + z-index: 9; + top: -5px!important; + left: 170px; + display: block; + width: 180px; + display: none; +} +.sticky_menu_top #sticky_menu div.sub-menu { + position: absolute; + z-index: 9; + top: 40px; + left: 0; + display: block; + display: none; + margin: 0!important; +} +#sticky_menu { + position: fixed; + list-style: none!important; + padding: 0!important; + z-index: 9999; + font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif; +} +#sticky_menu li { + float: left; + padding: 0!important; + margin: 0!important; +} +#sticky_menu li a { + padding: 10px 20px; + display: block; + margin: 0; + text-decoration: none; +} +#sticky_menu>li:first-child { } +#sticky_menu li:first-child a { } +#sticky_menu ul.sub-menu li a { } +#sticky_menu ul.sub-menu li a:hover { } +#sticky_menu li a span { + display: block; + padding: 1px 5px 1px 0px!important; +} +#sticky_menu li.rel { position: relative } +#sticky_menu>li.showdropdown { } +#sticky_menu li:hover { } +#sticky_menu li:hover a { } +#sticky_menu li:hover span { } +#sticky_menu div.sub-menu>div>h6 { + padding: 16px 5px 8px 5px!important; + display: block; +} +#sticky_menu div.sub-menu>div { + float: left; + width: 175px; + margin: 10px; +} +#sticky_menu div.sub-menu>div a { } +#sticky_menu div.sub-menu>div a:hover { } +#sticky_menu .sub-menu li { + float: none!important; + display: block; + width: 207px; + margin: 0!important; + padding: 0!important; + height: 32px; +} +#sticky_menu .sub-menu li a { + display: block; + margin: 0!important; + padding: 11px 5px 0px 18px!important; +} +#sticky_menu .sub-menu li a:hover { text-decoration: underline } +#sticky_menu .sub-menu li .sub-menu { + left: 191px; + top: 0px; +} +#sticky_menu .sub-menu li .sub-menu li:first-child { } +.tooltip { + width: 32px; + height: 12px; + position: absolute; + z-index: 3; + top: -12px; + left: 40px; +} +.stickymenu-textbox { + margin-top: 8px; + padding: 3px; +} +.stickymenu-textbox p { + padding: 5px 0; + margin: 0; +} +.stickymenu-textbox a { border: none!important } +.stickymenu-textbox img { border: none!important } + + +/* ========== Sticky Menu Stylings ||| Style 1 ========== */ + + +.sticky_menu_style1 #sticky_menu { + background: #35383a url(i/style1-bg.png) repeat-x; + border: 1px solid #121314; +} +.sticky_menu_style1 #sticky_menu li { border-right: 1px solid #0e0f10 } +.sticky_menu_style1 #sticky_menu li a { + border-left: 1px solid #2f3438; + color: #fff; +} +.sticky_menu_style1 #sticky_menu li a:hover { + border-right: 1px solid #0e0f10; + color: #999; +} +.sticky_menu_style1 #sticky_menu>li:first-child { border-left: none } +.sticky_menu_style1 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style1 #sticky_menu>li>ul.sub-menu { + background: #35383a; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #000; + margin: 0; + opacity: 0.95; +} +.sticky_menu_style1 #sticky_menu>li>ul.sub-menu ul { + background: #35383a; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + opacity: 0.95; +} +.sticky_menu_style1 #sticky_menu ul.sub-menu li a { color: #fff } +.sticky_menu_style1 #sticky_menu ul.sub-menu li a:hover { } +.sticky_menu_style1 #sticky_menu li a span { color: #999 } +.sticky_menu_style1 #sticky_menu>li.showdropdown { background: url(sprites/i/degree.png) 100% 0% no-repeat #f8f8f8 } +.sticky_menu_style1 #sticky_menu li:hover { + background: #35383a url(i/style1-bg-hover.png) repeat-x; + border-right: none; +} +.sticky_menu_style1 #sticky_menu li:hover a { + color: #fff; + border-right: 1px solid #0e0f10; +} +.sticky_menu_style1 #sticky_menu li:hover span { color: #fff } +.sticky_menu_style1 #sticky_menu div.sub-menu { + background: #35383a; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #000; + opacity: 0.95; +} +.sticky_menu_style1 #sticky_menu div.sub-menu>div>h6 { + color: #fff; + font-size: 16px; + font-weight: 700; + letter-spacing: -1px; + border-bottom: 1px dotted #bbb!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style1 #sticky_menu div.sub-menu>div { } +.sticky_menu_style1 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style1 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #bbb; + text-decoration: underline; +} +.sticky_menu_style1 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style1 #sticky_menu .sub-menu li a { + border: none!important; + color: #fff; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style1 #sticky_menu .sub-menu li a:hover { + border: none; + color: #bbb; + text-decoration: underline; +} +.sticky_menu_style1 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style1 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style1 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style1 .stickymenu-textbox { + font-size: 11px; + color: #fff; +} +.sticky_menu_style1 .stickymenu-textbox p { } + + +/* ========== Sticky Menu Stylings ||| Style 2 ========== */ + + +.sticky_menu_style2 #sticky_menu { + background: #35383a url(i/style2-bg.png) repeat-x; + border: 1px solid #ccc; +} +.sticky_menu_style2 #sticky_menu li { border-right: 1px solid #ccc } +.sticky_menu_style2 #sticky_menu li a { + border-left: 1px solid #fff; + color: #222; +} +.sticky_menu_style2 #sticky_menu li a:hover { + border-right: 1px solid #ccc; + color: #999; +} +.sticky_menu_style2 #sticky_menu>li:last-child a { border-right: none } +.sticky_menu_style2 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style2 #sticky_menu>li>ul.sub-menu { + background: #fff; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; + border: 1px solid #aaa; + margin: 0; + opacity: 0.95; +} +.sticky_menu_style2 #sticky_menu>li>ul.sub-menu ul { + background: #fff; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; + opacity: 0.95; +} +.sticky_menu_style2 #sticky_menu ul.sub-menu li a { color: #111 } +.sticky_menu_style2 #sticky_menu ul.sub-menu li a:hover { color: #666 } +.sticky_menu_style2 #sticky_menu li a span { color: #999 } +.sticky_menu_style2 #sticky_menu>li.showdropdown { background: url(sprites/i/degree.png) 100% 0% no-repeat #f8f8f8 } +.sticky_menu_style2 #sticky_menu li:hover { + background: #35383a url(i/style2-bg-hover.png) repeat-x; + border-right: none; +} +.sticky_menu_style2 #sticky_menu li:hover a { + color: #111; + border-right: 1px solid #ccc; +} +.sticky_menu_style2 #sticky_menu li:hover span { color: #fff } +.sticky_menu_style2 #sticky_menu div.sub-menu { + background: #fff; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px #aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; + border: 1px solid #aaa; + opacity: 0.95; +} +.sticky_menu_style2 #sticky_menu div.sub-menu>div>h6 { + color: #111; + font-size: 16px; + font-weight: 700; + letter-spacing: -1px; + border-bottom: 1px dotted #bbb!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style2 #sticky_menu div.sub-menu>div { } +.sticky_menu_style2 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style2 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #666; + text-decoration: underline; +} +.sticky_menu_style2 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style2 #sticky_menu .sub-menu li a { + border: none!important; + color: #111; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style2 #sticky_menu .sub-menu li a:hover { + border: none; + color: #666; + text-decoration: underline; +} +.sticky_menu_style2 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style2 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style2 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style2 .stickymenu-textbox { + font-size: 11px; + color: #111; +} +.sticky_menu_style2 .stickymenu-textbox p { } + + +/* ========== Sticky Menu Stylings ||| Style 3 ========== */ + + +.sticky_menu_style3 #sticky_menu { + background: #3c8fda url(i/style3-bg.png) repeat-x; + border: 1px solid #39618a; +} +.sticky_menu_style3 #sticky_menu li { border-right: 1px solid #8fbfee } +.sticky_menu_style3 #sticky_menu li a { + border-left: 1px solid #39618a; + color: #fff; +} +.sticky_menu_style3 #sticky_menu li a:hover { + border-right: 1px solid #8fbfee; + color: #fff; +} +.sticky_menu_style3 #sticky_menu>li:last-child a { border-right: none } +.sticky_menu_style3 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style3 #sticky_menu>li>ul.sub-menu { + background: #4f80bd; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #27466d; + box-shadow: 0px 0px 3px #27466d; + -webkit-box-shadow: 0px 0px 3px #27466d; + border: 1px solid #27466d; + margin: 0; + opacity: 0.95; +} +.sticky_menu_style3 #sticky_menu>li>ul.sub-menu ul { + background: #4f80bd; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #27466d; + box-shadow: 0px 0px 3px #27466d; + -webkit-box-shadow: 0px 0px 3px #27466d; + opacity: 0.95; +} +.sticky_menu_style3 #sticky_menu ul.sub-menu li a { color: #fff } +.sticky_menu_style3 #sticky_menu ul.sub-menu li a:hover { color: #111 } +.sticky_menu_style3 #sticky_menu li a span { color: #111 } +.sticky_menu_style3 #sticky_menu>li.showdropdown { background: url(sprites/i/degree.png) 100% 0% no-repeat #f8f8f8 } +.sticky_menu_style3 #sticky_menu li:hover { + background: #3c8fda url(i/style3-bg-hover.png) repeat-x; + border-right: none; +} +.sticky_menu_style3 #sticky_menu li:hover a { + color: #fff; + border-right: 1px solid #8fbfee; + text-decoration: underline; +} +.sticky_menu_style3 #sticky_menu li:hover span { color: #fff } +.sticky_menu_style3 #sticky_menu div.sub-menu { + background: #4f80bd; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px #27466d; + box-shadow: 0px 0px 3px #27466d; + -webkit-box-shadow: 0px 0px 3px #27466d; + border: 1px solid #27466d; + opacity: 0.95; +} +.sticky_menu_style3 #sticky_menu div.sub-menu>div>h6 { + color: #fff; + font-size: 16px; + font-weight: 700; + letter-spacing: -1px; + border-bottom: 1px dotted #bbb!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style3 #sticky_menu div.sub-menu>div { } +.sticky_menu_style3 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style3 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #111; + text-decoration: underline; +} +.sticky_menu_style3 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style3 #sticky_menu .sub-menu li a { + border: none!important; + color: #111; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style3 #sticky_menu .sub-menu li a:hover { + border: none; + color: #111; + text-decoration: underline; +} +.sticky_menu_style3 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style3 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style3 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style3 .stickymenu-textbox { + font-size: 11px; + color: #fff; +} +.sticky_menu_style3 .stickymenu-textbox p { } + + +/* ========== Sticky Menu Stylings ||| Style 4 ========== */ + + +.sticky_menu_style4 #sticky_menu { + background: #3c8fda url(i/style4-bg.png) repeat-x; + border: 1px solid #2a6ba6; +} +.sticky_menu_style4 #sticky_menu li { + border: 1px solid #2a6ba6; + border-left: none; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style4 #sticky_menu li a { + border: 1px solid #6eb1e2; + color: #fff; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style4 #sticky_menu>li:first-child { } +.sticky_menu_style4 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style4 #sticky_menu>li>ul.sub-menu { + background: #fff url(i/sub-menu-bg.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; + border: 1px solid #fff; + margin: 0; +} +.sticky_menu_style4 #sticky_menu>li>ul.sub-menu ul { + background: #fff url(i/sub-menu-bg.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; +} +.sticky_menu_style4 #sticky_menu ul.sub-menu li a { color: #333 } +.sticky_menu_style4 #sticky_menu ul.sub-menu li a:hover { color: #3c8fda } +.sticky_menu_style4 #sticky_menu li a span { color: #777 } +.sticky_menu_style4 #sticky_menu>li.showdropdown { } +.sticky_menu_style4 #sticky_menu li:hover { background: #3797ed } +.sticky_menu_style4 #sticky_menu li:hover a { color: #333 } +.sticky_menu_style4 #sticky_menu li:hover span { color: #3c8fda } +.sticky_menu_style4 #sticky_menu div.sub-menu { + background: #fff url(i/sub-menu-bg.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; + border: 1px solid #fff; +} +.sticky_menu_style4 #sticky_menu div.sub-menu>div>h6 { + color: #333; + font-size: 16px; + border-bottom: 1px dotted #333!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style4 #sticky_menu div.sub-menu>div { } +.sticky_menu_style4 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style4 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #3c8fda; + text-decoration: underline; +} +.sticky_menu_style4 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style4 #sticky_menu .sub-menu li a { + border: none!important; + color: #333; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style4 #sticky_menu .sub-menu li a:hover { + border: none; + color: #3c8fda; + text-decoration: underline; +} +.sticky_menu_style4 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style4 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style4 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style4 .stickymenu-textbox { + font-size: 11px; + color: #333; +} +.sticky_menu_style4 .stickymenu-textbox p { } + + +/* ========== Sticky Menu Stylings ||| Style 5 ========== */ + +.sticky_menu_style5 #sticky_menu { + background: #35383a url(i/style5-bg.png) repeat-x; + border: 1px solid #000; +} +.sticky_menu_style5 #sticky_menu li { + border: 1px solid #000; + border-left: none; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style5 #sticky_menu li a { + border: 1px solid #4a4a4a; + color: #fff; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style5 #sticky_menu>li:first-child { } +.sticky_menu_style5 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style5 #sticky_menu>li>ul.sub-menu { + background: #fff url(i/sub-menu-bg-d.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #000; + margin: 0; +} +.sticky_menu_style5 #sticky_menu>li>ul.sub-menu ul { + background: #fff url(i/sub-menu-bg-d.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; +} +.sticky_menu_style5 #sticky_menu ul.sub-menu li a { color: #fff } +.sticky_menu_style5 #sticky_menu ul.sub-menu li a:hover { color: #aaa } +.sticky_menu_style5 #sticky_menu li a span { color: #777 } +.sticky_menu_style5 #sticky_menu>li.showdropdown { } +.sticky_menu_style5 #sticky_menu li:hover { background: #222 } +.sticky_menu_style5 #sticky_menu li:hover a { color: #fff } +.sticky_menu_style5 #sticky_menu li:hover span { color: #aaa } +.sticky_menu_style5 #sticky_menu div.sub-menu { + background: #fff url(i/sub-menu-bg-d.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px 000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #000; +} +.sticky_menu_style5 #sticky_menu div.sub-menu>div>h6 { + color: #fff; + font-size: 16px; + border-bottom: 1px dotted #aaa!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style5 #sticky_menu div.sub-menu>div { } +.sticky_menu_style5 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style5 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #aaa; + text-decoration: underline; +} +.sticky_menu_style5 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style5 #sticky_menu .sub-menu li a { + border: none!important; + color: #aaa; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style5 #sticky_menu .sub-menu li a:hover { + border: none; + color: #aaa; + text-decoration: underline; +} +.sticky_menu_style5 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style5 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style5 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style5 .stickymenu-textbox { + font-size: 11px; + color: #fff; +} +.sticky_menu_style5 .stickymenu-textbox p { } + + +/* ========== Sticky Menu Stylings ||| Style 6 ========== */ + + +.sticky_menu_style6 #sticky_menu { + background: url(i/style6-bg.png) repeat-x; + border: 1px solid #000; + text-shadow: 1px 1px 0px #333; +} +.sticky_menu_style6 #sticky_menu li { + border: 1px solid #000; + border-left: none; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style6 #sticky_menu li a { + color: #fff; + border: none!important; +} +.sticky_menu_style6 #sticky_menu>li:first-child { } +.sticky_menu_style6 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style6 #sticky_menu>li>ul.sub-menu { + background: url(i/sub-menu-bg-t.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #000; + margin: 0; +} +.sticky_menu_style6 #sticky_menu>li>ul.sub-menu ul { + background: url(i/sub-menu-bg-t.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; +} +.sticky_menu_style6 #sticky_menu ul.sub-menu li a { color: #fff } +.sticky_menu_style6 #sticky_menu ul.sub-menu li a:hover { color: #aaa } +.sticky_menu_style6 #sticky_menu li a span { color: #777 } +.sticky_menu_style6 #sticky_menu>li.showdropdown { } +.sticky_menu_style6 #sticky_menu li:hover { background: #333 } +.sticky_menu_style6 #sticky_menu li:hover a { color: #fff } +.sticky_menu_style6 #sticky_menu li:hover span { color: #aaa } +.sticky_menu_style6 #sticky_menu div.sub-menu { + background: url(i/sub-menu-bg-t.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px 000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #000; +} +.sticky_menu_style6 #sticky_menu div.sub-menu>div>h6 { + color: #fff; + font-size: 16px; + border-bottom: 1px dotted #aaa!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style6 #sticky_menu div.sub-menu>div { } +.sticky_menu_style6 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style6 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #aaa; + text-decoration: underline; +} +.sticky_menu_style6 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style6 #sticky_menu .sub-menu li a { + border: none!important; + color: #aaa; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style6 #sticky_menu .sub-menu li a:hover { + border: none; + color: #aaa; + text-decoration: underline; +} +.sticky_menu_style6 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style6 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style6 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style6 .stickymenu-textbox { + font-size: 11px; + color: #fff; +} +.sticky_menu_style6 .stickymenu-textbox p { } + + +/* ========== Sticky Menu Stylings ||| Style 7 ========== */ + + +.sticky_menu_style7 #sticky_menu { + background: #670b0b url(i/style7-bg.png) repeat-x; + border: 1px solid #670b0b; + text-shadow: 1px 1px 0px #333; +} +.sticky_menu_style7 #sticky_menu li { + border: 1px solid #922121; + border-left: none; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style7 #sticky_menu li a { + border: 1px solid #cb3c3c; + color: #fff; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style7 #sticky_menu>li:first-child { } +.sticky_menu_style7 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style7 #sticky_menu>li>ul.sub-menu { + background: #fff url(i/sub-menu-bg-r.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #9e2020; + margin: 0; +} +.sticky_menu_style7 #sticky_menu>li>ul.sub-menu ul { + background: #fff url(i/sub-menu-bg-r.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; +} +.sticky_menu_style7 #sticky_menu ul.sub-menu li a { color: #fff } +.sticky_menu_style7 #sticky_menu ul.sub-menu li a:hover { color: #111 } +.sticky_menu_style7 #sticky_menu li a span { color: #111 } +.sticky_menu_style7 #sticky_menu>li.showdropdown { } +.sticky_menu_style7 #sticky_menu li:hover { background: #be0606 } +.sticky_menu_style7 #sticky_menu li:hover a { color: #fff } +.sticky_menu_style7 #sticky_menu li:hover span { color: #111 } +.sticky_menu_style7 #sticky_menu div.sub-menu { + background: #fff url(i/sub-menu-bg-r.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px 000; + box-shadow: 0px 0px 3px #000; + -webkit-box-shadow: 0px 0px 3px #000; + border: 1px solid #000; +} +.sticky_menu_style7 #sticky_menu div.sub-menu>div>h6 { + color: #fff; + font-size: 16px; + border-bottom: 1px dotted #fff!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style7 #sticky_menu div.sub-menu>div { } +.sticky_menu_style7 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style7 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #111; + text-decoration: underline; +} +.sticky_menu_style7 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style7 #sticky_menu .sub-menu li a { + border: none!important; + color: #fff; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style7 #sticky_menu .sub-menu li a:hover { + border: none; + color: #333; + text-decoration: underline; +} +.sticky_menu_style7 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style7 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style7 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style7 .stickymenu-textbox { + font-size: 11px; + color: #fff; +} +.sticky_menu_style7 .stickymenu-textbox p { } + + +/* ========== Sticky Menu Stylings ||| Style 8 ========== */ + + +.sticky_menu_style8 #sticky_menu { + background: url(i/style8-bg.png) repeat-x; + border: 1px solid #111; +} +.sticky_menu_style8 #sticky_menu li { + border: 1px solid #111; + border-left: none; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style8 #sticky_menu li a { + border: 1px solid #aaa; + color: #fff; + border-top: none; + border-bottom: none!important; +} +.sticky_menu_style8 #sticky_menu>li:first-child { } +.sticky_menu_style8 #sticky_menu li:first-child a { border-left: none } +.sticky_menu_style8 #sticky_menu>li>ul.sub-menu { + background: url(i/sub-menu-bg-w.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px 15px; + -moz-box-shadow: 0px 0px 3px #aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; + border: 1px solid #fff; + margin: 0; +} +.sticky_menu_style8 #sticky_menu>li>ul.sub-menu ul { + background: url(i/sub-menu-bg-w.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + padding: 4px 12px; + -moz-box-shadow: 0px 0px 3px #aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; +} +.sticky_menu_style8 #sticky_menu ul.sub-menu li a { color: #111 } +.sticky_menu_style8 #sticky_menu ul.sub-menu li a:hover { color: #333 } +.sticky_menu_style8 #sticky_menu li a span { color: #111 } +.sticky_menu_style8 #sticky_menu>li.showdropdown { } +.sticky_menu_style8 #sticky_menu li:hover { background: #fff } +.sticky_menu_style8 #sticky_menu li:hover a { color: #111 } +.sticky_menu_style8 #sticky_menu li:hover span { color: #111 } +.sticky_menu_style8 #sticky_menu div.sub-menu { + background: url(i/sub-menu-bg-w.png) repeat; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-top: none; + -moz-box-shadow: 0px 0px 3px aaa; + box-shadow: 0px 0px 3px #aaa; + -webkit-box-shadow: 0px 0px 3px #aaa; + border: 1px solid #fff; +} +.sticky_menu_style8 #sticky_menu div.sub-menu>div>h6 { + color: #111; + font-size: 16px; + border-bottom: 1px dotted #111!important; + background: none!important; + text-transform: none; +} +.sticky_menu_style8 #sticky_menu div.sub-menu>div { } +.sticky_menu_style8 #sticky_menu div.sub-menu>div a { + text-transform: none; + font-size: 11px; + font-weight: 500; + letter-spacing: -1px; +} +.sticky_menu_style8 #sticky_menu div.sub-menu>div a:hover { + border-left: none; + color: #111; + text-decoration: underline; +} +.sticky_menu_style8 #sticky_menu .sub-menu li { + line-height: 1.5; + background: none; + height: 32px; + margin: 0!important; + border: none!important; +} +.sticky_menu_style8 #sticky_menu .sub-menu li a { + border: none!important; + color: #111; + font-weight: 500; + font-size: 11px!important; + text-align: left; + text-transform: none!important; + letter-spacing: 0px!important; + margin: 0!important; +} +.sticky_menu_style8 #sticky_menu .sub-menu li a:hover { + border: none; + color: #333; + text-decoration: underline; +} +.sticky_menu_style8 #sticky_menu .sub-menu li .sub-menu { } +.sticky_menu_style8 #sticky_menu .sub-menu li .sub-menu li:first-child { } +.sticky_menu_style8 .tooltip { background: url(sprites/i/menu-tip.png) top left no-repeat } +.sticky_menu_style8 .stickymenu-textbox { + font-size: 11px; + color: #111; +} +.sticky_menu_style8 .stickymenu-textbox p { } + + diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/js/sticky_menu.js b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/js/sticky_menu.js new file mode 100644 index 0000000..72f1393 --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/sprites/js/sticky_menu.js @@ -0,0 +1,59 @@ +jQuery(function($){ + + var menu = $("#sticky_menu"); + var animate_in = $("#sticky_menu_fadein").val(); + var animate_out = $("#sticky_menu_fadeout").val(); +/* ==================================================================== */ +/* ============================ Menu Settings ========================= */ +/* ==================================================================== */ + +// $("#menu>li>.sub-menu").append(""); +menu.children("li").each(function(){ + + if(!$(this).hasClass("rel")) + $(this).find(".tooltip").css("left",$(this).position().left+$(this).width()/2); + +}); + +menu.find("li").hover(function(){ + + switch(animate_in) + { + case "fade" : $(this).children('.sub-menu').hide().fadeIn('normal'); break; + case "show" : $(this).children('.sub-menu').hide().show(); break; + case "showanimate" : $(this).children('.sub-menu').hide().show('normal'); break; + case "slide" : $(this).children('.sub-menu').hide().slideDown('normal'); break; + default : $(this).children('.sub-menu').hide().slideDown('normal'); + } + + + + },function(){ + + + switch(animate_out) + { + case "fade" : $(this).children('.sub-menu').fadeOut('normal',function(){ $(this).hide(); }); break; + case "hide" : $(this).children('.sub-menu').hide(); break; + case "hideanimate" : $(this).children('.sub-menu').hide('normal',function(){ $(this).hide(); }); break; + case "slide" : $(this).children('.sub-menu').slideUp('normal',function(){ $(this).hide(); }); break; + default : $(this).children('.sub-menu').slideUp('normal',function(){ $(this).hide(); }); + } + + + }); + +menu.children("li").each(function(){ + +// if($(this).children().hasClass("sub-menu")) +// $(this).addClass("showdropdown"); + + }); + + + if($(".sticky_menu_Full").length>0) + { + menu.width($(window).width()); + } + + }); \ No newline at end of file diff --git a/src/wp-content/plugins/sticky_menu/sticky_menu/stickymenu.php b/src/wp-content/plugins/sticky_menu/sticky_menu/stickymenu.php new file mode 100644 index 0000000..51a267c --- /dev/null +++ b/src/wp-content/plugins/sticky_menu/sticky_menu/stickymenu.php @@ -0,0 +1,623 @@ + 'menu_item_parent', 'id' => 'db_id' ); + + /** + * @see Walker::start_lvl() + * @since 3.0.0 + * + * @param string $output Passed by reference. Used to append additional content. + * @param int $depth Depth of page. Used for padding. + */ + function start_lvl(&$output, $depth) { + $indent = str_repeat("\t", $depth); + $element = 'ul'; $widget_class = ''; + if($depth==0&&$this->isstickyMenu) + { + $element = 'div'; + if($this->menutype=="widget") + $widget_class = 'widget_menu'; + } + + if($depth==1 && $this->menutype=="widget") + $output .= "$indent \n"; + else + $output .= "\n$indent<{$element} class=\"sub-menu clearfix $widget_class \">\n"; + } + + /** + * @see Walker::end_lvl() + * @since 3.0.0 + * + * @param string $output Passed by reference. Used to append additional content. + * @param int $depth Depth of page. Used for padding. + */ + function end_lvl(&$output, $depth) { + $indent = str_repeat("\t", $depth); + + $element = 'ul'; + if($depth==0&&$this->isstickyMenu) + $element = 'div'; + + if($depth==1 && $this->menutype=="widget") + $output .= "$indent \n"; + else + $output .= "$indent\n"; + + $this->isTextBox = false; + + } + + /** + * @see Walker::start_el() + * @since 3.0.0 + * + * @param string $output Passed by reference. Used to append additional content. + * @param object $item Menu item data object. + * @param int $depth Depth of menu item. Used for padding. + * @param int $current_page Menu item ID. + * @param object $args + */ + function start_el(&$output, $item, $depth, $args) { + global $wp_query; + $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; + + $class_names = $value = ''; + + // Hades sticky menu custom values + + $subtitle = get_post_meta( $item->ID, 'menu-item-stickymenu-subtitle-'.$item->ID,true); + $value = get_post_meta( $item->ID, 'menu-item-stickymenu-'.$item->ID,true); + $value = ($value=="on") ? true : false ; + + $type = get_post_meta( $item->ID, 'menu-item-stickymenu-layout-'.$item->ID,true); + + $enable_textbox = get_post_meta( $item->ID, 'menu-item-enable-textbox-'.$item->ID,true); + $textbox = get_post_meta( $item->ID, 'menu-item-textbox-'.$item->ID,true); + + $newrow = get_post_meta( $item->ID, 'menu-item-newrow-'.$item->ID,true); + $newrow = ($newrow=="on") ? true : false; + + if($depth==0) + { + + + $this->isstickyMenu = $value; + + if($this->isstickyMenu) { + + if($type=="column") + $this->menutype = "column"; + else + { + $this->menutype = "widget"; + $this->widget_id = 'menu-item-stickymenu-'.$item->ID.'-widget'; + } + } + + }// End of Hades menu custom values + + if($depth==1 && $enable_textbox=="on") + { + $this->isTextBox = true; + } + else + $this->isTextBox = false; + + $classes = empty( $item->classes ) ? array() : (array) $item->classes; + $classes[] = 'menu-item-' . $item->ID; + $ex_class = ''; + if( ($this->rowcount>=$this->rowlimit&&$depth==1) || $newrow ) + { + $this->rowcount = 0; + $ex_class = 'clearleft'; + } + $test_variable = ''; + if(!$this->isstickyMenu) + $test_variable = 'rel'; + + + $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) ); + $class_names = ' class="' . esc_attr( $class_names )." $ex_class $test_variable ". ' "'; + + $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args ); + $id = strlen( $id ) ? ' id="' . esc_attr( $id ) . '"' : ''; + + + if(!$this->isstickyMenu) { + $output .= $indent . ''; + + $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; + $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; + $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; + $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; + + $item_output = $args->before; + $item_output .= ''; + $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; + $item_output .= " $subtitle ".' '; + $item_output .= $args->after; + + } + else if($this->menutype=="column") + { + if($depth==1) + { + + + $output .= $indent . ''; + $this->rowcount++; + } + else + $output .= $indent . ''; + $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; + $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; + $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; + $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; + + $item_output = $args->before; + if($depth==1) + $item_output .= '
        '; + else + $item_output .= ''; + + + $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; + + if($depth==1) + $item_output .= " $subtitle ".'
        '; + else + $item_output .= " $subtitle ".''; + + $item_output .= $args->after; + + + if($depth==1 && $this->isTextBox ) + { + $item_output .= ""; + } + + } + else if($this->menutype=="widget") + { + if($depth==1) + { + + + $output .= $indent . ''; + $this->rowcount++; + } + else if($depth==2 ) + { + + + + } + else + $output .= $indent . ''; + $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; + $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; + $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; + $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; + + + + if($depth<1) { + $item_output = $args->before; + $item_output .= ''; + $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; + $item_output .= " $subtitle ".''; + $item_output .= $args->after; + } + else if($depth==2 && $this->widgetflag) + { + + + ob_start(); + + dynamic_sidebar($this->widget_id); + $data = ob_get_contents(); + ob_end_clean(); + ob_end_flush(); + + $item_output .= $data; + + $this->widgetflag = false; + } + + + } + + $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); + } + + /** + * @see Walker::end_el() + * @since 3.0.0 + * + * @param string $output Passed by reference. Used to append additional content. + * @param object $item Page data object. Not used. + * @param int $depth Depth of page. Not Used. + */ + function end_el(&$output, $item, $depth) { + + if(!$this->isstickyMenu) + $output .= "\n"; + else + { + if($depth==1) + $output .= "\n"; + else if($depth==2 && $this->menutype=="widget" ) + $output .= "\n"; + else + $output .= "\n"; + } + } +} + + +class H_StickyMenu_Nav_Menu extends Walker_Nav_Menu { + /** + * @see Walker_Nav_Menu::start_lvl() + * @since 3.0.0 + * + * @param string $output Passed by reference. + * @param int $depth Depth of page. + */ + function start_lvl(&$output) {} + + /** + * @see Walker_Nav_Menu::end_lvl() + * @since 3.0.0 + * + * @param string $output Passed by reference. + * @param int $depth Depth of page. + */ + function end_lvl(&$output) { + } + + /** + * @see Walker::start_el() + * @since 3.0.0 + * + * @param string $output Passed by reference. Used to append additional content. + * @param object $item Menu item data object. + * @param int $depth Depth of menu item. Used for padding. + * @param int $current_page Menu item ID. + * @param object $args + */ + function start_el(&$output, $item, $depth, $args) { + global $_wp_nav_menu_max_depth; + $_wp_nav_menu_max_depth = $depth > $_wp_nav_menu_max_depth ? $depth : $_wp_nav_menu_max_depth; + + $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; + + ob_start(); + $item_id = esc_attr( $item->ID ); + $removed_args = array( + 'action', + 'customlink-tab', + 'edit-menu-item', + 'menu-item', + 'page-tab', + '_wpnonce', + ); + + $original_title = ''; + if ( 'taxonomy' == $item->type ) { + $original_title = get_term_field( 'name', $item->object_id, $item->object, 'raw' ); + } elseif ( 'post_type' == $item->type ) { + $original_object = get_post( $item->object_id ); + $original_title = $original_object->post_title; + } + + $classes = array( + 'menu-item menu-item-depth-' . $depth, + 'menu-item-' . esc_attr( $item->object ), + 'menu-item-edit-' . ( ( isset( $_GET['edit-menu-item'] ) && $item_id == $_GET['edit-menu-item'] ) ? 'active' : 'inactive'), + ); + + $title = $item->title; + + if ( isset( $item->post_status ) && 'draft' == $item->post_status ) { + $classes[] = 'pending'; + /* translators: %s: title of menu item in draft status */ + $title = sprintf( __('%s (Pending)'), $item->title ); + } + + $title = empty( $item->label ) ? $title : $item->label; + $subtitle = get_post_meta( $item_id, 'menu-item-stickymenu-subtitle-'.$item_id,true); + $value = get_post_meta( $item_id, 'menu-item-stickymenu-'.$item_id,true); + $value = ($value=="on") ? "checked='checked'" : ""; + + $type = get_post_meta( $item_id, 'menu-item-stickymenu-layout-'.$item_id,true); + + $newrow = get_post_meta( $item_id, 'menu-item-newrow-'.$item_id,true); + $newrow = ($newrow=="on") ? "checked='checked'" : ""; + + $enable_textbox = get_post_meta( $item_id, 'menu-item-enable-textbox-'.$item_id,true); + $enable_textbox= ($enable_textbox=="on") ? "checked='checked'" : ""; + + $textbox = get_post_meta( $item_id, 'menu-item-textbox-'.$item_id,true); + + ?> + \n"; + else + { + if($depth==1) + $output .= "\n"; + else if($depth==2 && $this->menutype=="widget" ) + $output .= "\n"; + else + $output .= "\n"; + } + } +} + + +class H_StickyMenu_Nav_Menu extends Walker_Nav_Menu { + /** + * @see Walker_Nav_Menu::start_lvl() + * @since 3.0.0 + * + * @param string $output Passed by reference. + * @param int $depth Depth of page. + */ + function start_lvl(&$output) {} + + /** + * @see Walker_Nav_Menu::end_lvl() + * @since 3.0.0 + * + * @param string $output Passed by reference. + * @param int $depth Depth of page. + */ + function end_lvl(&$output) { + } + + /** + * @see Walker::start_el() + * @since 3.0.0 + * + * @param string $output Passed by reference. Used to append additional content. + * @param object $item Menu item data object. + * @param int $depth Depth of menu item. Used for padding. + * @param int $current_page Menu item ID. + * @param object $args + */ + function start_el(&$output, $item, $depth, $args) { + global $_wp_nav_menu_max_depth; + $_wp_nav_menu_max_depth = $depth > $_wp_nav_menu_max_depth ? $depth : $_wp_nav_menu_max_depth; + + $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; + + ob_start(); + $item_id = esc_attr( $item->ID ); + $removed_args = array( + 'action', + 'customlink-tab', + 'edit-menu-item', + 'menu-item', + 'page-tab', + '_wpnonce', + ); + + $original_title = ''; + if ( 'taxonomy' == $item->type ) { + $original_title = get_term_field( 'name', $item->object_id, $item->object, 'raw' ); + } elseif ( 'post_type' == $item->type ) { + $original_object = get_post( $item->object_id ); + $original_title = $original_object->post_title; + } + + $classes = array( + 'menu-item menu-item-depth-' . $depth, + 'menu-item-' . esc_attr( $item->object ), + 'menu-item-edit-' . ( ( isset( $_GET['edit-menu-item'] ) && $item_id == $_GET['edit-menu-item'] ) ? 'active' : 'inactive'), + ); + + $title = $item->title; + + if ( isset( $item->post_status ) && 'draft' == $item->post_status ) { + $classes[] = 'pending'; + /* translators: %s: title of menu item in draft status */ + $title = sprintf( __('%s (Pending)'), $item->title ); + } + + $title = empty( $item->label ) ? $title : $item->label; + $subtitle = get_post_meta( $item_id, 'menu-item-stickymenu-subtitle-'.$item_id,true); + $value = get_post_meta( $item_id, 'menu-item-stickymenu-'.$item_id,true); + $value = ($value=="on") ? "checked='checked'" : ""; + + $type = get_post_meta( $item_id, 'menu-item-stickymenu-layout-'.$item_id,true); + + $newrow = get_post_meta( $item_id, 'menu-item-newrow-'.$item_id,true); + $newrow = ($newrow=="on") ? "checked='checked'" : ""; + + $enable_textbox = get_post_meta( $item_id, 'menu-item-enable-textbox-'.$item_id,true); + $enable_textbox= ($enable_textbox=="on") ? "checked='checked'" : ""; + + $textbox = get_post_meta( $item_id, 'menu-item-textbox-'.$item_id,true); + + ?> +
      • '. $value['name'] .'
      • '; + $output .= '

        '.$value['name'].'

        '."\n"; + break; + } + + // if TYPE is an array, formatted into smaller inputs... ie smaller values + if ( is_array($value['type'])) { + foreach($value['type'] as $array){ + + $id = $array['id']; + $std = $array['std']; + $saved_std = get_option($id); + if($saved_std != $std){$std = $saved_std;} + $meta = $array['meta']; + + if($array['type'] == 'text') { // Only text at this point + + $output .= ''; + $output .= ''.$meta.''; + } + } + } + if ( $value['type'] != "heading" ) { + if ( $value['type'] != "checkbox" ) + { + $output .= '
        '; + } + if(!isset($value['desc'])){ $explain_value = ''; } else{ $explain_value = $value['desc']; } + $output .= '
        '. $explain_value .'
        '."\n"; + $output .= '
        '."\n"; + } + + } + + //Checks if is not the Content Builder page + if ( isset($_REQUEST['page']) && $_REQUEST['page'] != 'woothemes_content_builder' ) { + $output .= ''; + } + + return array($output,$menu); + +} +} + +/*-----------------------------------------------------------------------------------*/ +/* WooThemes Uploader - woothemes_uploader_function */ +/*-----------------------------------------------------------------------------------*/ + +if (!function_exists( 'woothemes_uploader_function')) { +function woothemes_uploader_function($id,$std,$mod){ + + //$uploader .= ''; + //$uploader .= ''; + + $uploader = ''; + $upload = get_option($id); + + if($mod != 'min') { + $val = $std; + if ( get_option( $id ) != "") { $val = get_option($id); } + $uploader .= ''; + } + + $uploader .= '
        Upload Image'; + + if(!empty($upload)) {$hide = '';} else { $hide = 'hide';} + + $uploader .= 'Remove'; + $uploader .='
        ' . "\n"; + $uploader .= '
        ' . "\n"; + if(!empty($upload)){ + //$upload = cleanSource($upload); // Removed since V.2.3.7 it's not showing up + $uploader .= ''; + $uploader .= ''; + $uploader .= ''; + } + $uploader .= '
        ' . "\n"; + + +return $uploader; +} +} + + +/*-----------------------------------------------------------------------------------*/ +/* Woothemes Theme Version Checker - woothemes_version_checker */ +/* @local_version is the installed theme version number */ +/*-----------------------------------------------------------------------------------*/ + +if (!function_exists( 'woothemes_version_checker')) { + function woothemes_version_checker ($local_version) { + + function do_not_cache_feeds(&$feed) { + $feed->enable_cache(false); + } + add_action( 'wp_feed_options', 'do_not_cache_feeds' ); + + // Get a SimplePie feed object from the specified feed source. + $theme_name = str_replace( "-","",strtolower(get_option( 'woo_themename'))); + $feed_url = 'http://www.woothemes.com/?feed=updates&theme=' . $theme_name; + + $rss = fetch_feed($feed_url); + + // Of the RSS is failed somehow. + if ( is_wp_error($rss) ) { + + /* + $error = $rss->get_error_code(); + $update_message = '
        Update notifier failed ('.$error.')
        '; + return $update_message; + */ + // Return without notification + return; + + } + + //Figure out how many total items there are, but limit it to 5. + $maxitems = $rss->get_item_quantity(100); + + // Build an array of all the items, starting with element 0 (first element). + $rss_items = $rss->get_items(0, $maxitems); + if ($maxitems == 0) { $latest_version_via_rss = 0; } + else { + // Loop through each feed item and display each item as a hyperlink. + foreach ( $rss_items as $item ) : + $latest_version_via_rss = $item->get_title(); + endforeach; + } + //Check if version is the latest - assume standard structure x.x.x + $pieces_rss = explode( ".", $latest_version_via_rss); + $pieces_local = explode( ".", $local_version); + //account for null values in second position x.2.x + + if(isset($pieces_rss[0]) && $pieces_rss[0] != 0) { + + if (!isset($pieces_rss[1])) + $pieces_rss[1] = '0'; + + if (!isset($pieces_local[1])) + $pieces_local[1] = '0'; + + //account for null values in third position x.x.3 + if (!isset($pieces_rss[2])) + $pieces_rss[2] = '0'; + + + if (!isset($pieces_local[2])) + $pieces_local[2] = '0'; + + + //do the comparisons + $version_sentinel = false; + + if ($pieces_rss[0] > $pieces_local[0]) { + $version_sentinel = true; + } + if (($pieces_rss[1] > $pieces_local[1]) AND ($version_sentinel == false) AND ($pieces_rss[0] == $pieces_local[0])) { + $version_sentinel = true; + } + if (($pieces_rss[2] > $pieces_local[2]) AND ($version_sentinel == false) AND ($pieces_rss[0] == $pieces_local[0]) AND ($pieces_rss[1] == $pieces_local[1])) { + $version_sentinel = true; + } + + //set version checker message + if ($version_sentinel == true) { + $update_message = '
        Theme update is available (v.' . $latest_version_via_rss . ') - Get the new version.
        '; + } + else { + $update_message = ''; + } + } else { + $update_message = ''; + } + + return $update_message; + + } +} + +?> \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/admin-medialibrary-uploader.php b/src/wp-content/themes/originalhouse/functions/admin-medialibrary-uploader.php new file mode 100644 index 0000000..a10f296 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/admin-medialibrary-uploader.php @@ -0,0 +1,421 @@ + array( + 'name' => __( 'WooFramework Internal Container' ), + ), + 'public' => true, + 'show_ui' => false, + 'capability_type' => 'post', + 'hierarchical' => false, + 'rewrite' => false, + 'supports' => array( 'title', 'editor' ), + 'query_var' => false, + 'can_export' => true, + 'show_in_nav_menus' => false + ) ); + + } // End woothemes_mlu_init() + +} // End IF Statement + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_css */ +/* +/* Add the Thickbox CSS file and specific loading and button images to the header +/* on the pages where this function is called. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_css' ) ) { + + function woothemes_mlu_css () { + + $_html = ''; + + $_html .= '' . "\n"; + $_html .= '' . "\n"; + + echo $_html; + + } // End woothemes_mlu_css() + +} // End IF Statement + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_js */ +/* +/* Register and enqueue (load) the necessary JavaScript file for working with the +/* Media Library-driven AJAX File Uploader Module. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_js' ) ) { + + function woothemes_mlu_js () { + + // Register custom scripts for the Media Library AJAX uploader. + wp_register_script( 'woo-medialibrary-uploader', get_template_directory_uri() . '/functions/js/woo-medialibrary-uploader.js', array( 'jquery', 'thickbox' ) ); + wp_enqueue_script( 'woo-medialibrary-uploader' ); + wp_enqueue_script( 'media-upload' ); + + } // End woothemes_mlu_js() + +} // End IF Statement + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_medialibrary_uploader */ +/* +/* WooThemes Uploader Using the WordPress Media Library. +/* +/* Parameters: +/* - string $_id - A token to identify this field (the name). +/* - string $_value - The value of the field, if present. +/* - string $_mode - The display mode of the field. +/* - string $_desc - An optional description of the field. +/* - int $_postid - An optional post id (used in the meta boxes). +/* +/* Dependencies: +/* - woothemes_mlu_get_silentpost() +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_medialibrary_uploader' ) ) { + + function woothemes_medialibrary_uploader ( $_id, $_value, $_mode = 'full', $_desc = '', $_postid = 0 ) { + + $output = ''; + + $id = ''; + $class = ''; + $int = ''; + $value = ''; + + $id = strip_tags( strtolower( $_id ) ); + + // If a post id is present, use it. Otherwise, search for one based on the $_id. + if ( $_postid != 0 ) { + + $int = $_postid; + + } else { + + $int = woothemes_mlu_get_silentpost( $id ); // Change for each field, using a "silent" post. If no post is present, one will be created. + + } // End IF Statement + + + // If we're on a post add/edit screen, call the post meta value. + if ( $_mode == 'postmeta' ) { + + $value = get_post_meta( $_postid, $id, true ); + + } else { + + $value = get_option( $id ); + + } // End IF Statement + + // If a value is passed and we don't have a stored value, use the value that's passed through. + if ( $_value != '' && $value == '' ) { + + $value = $_value; + + } // End IF Statement + + if ( $value ) { $class = ' has-file'; } // End IF Statement + + // $output .= '' . "\n"; + + $output .= '' . "\n"; + $output .= '' . "\n"; + + if ( $_desc != '' ) { + + $output .= '' . $_desc . '' . "\n"; + + } // End IF Statement + + // $output .= '' . __( 'Upload' ) . ''; + $output .= '
        ' . "\n"; + + if ( $value != '' ) { + + $remove = 'Remove'; + + $image = preg_match( '/(^.*\.jpg|jpeg|png|gif|ico*)/i', $value ); + + if ( $image ) { + + $output .= ''.$remove.''; + + } else { + + $parts = explode( "/", $value ); + + for( $i = 0; $i < sizeof( $parts ); ++$i ) { + + $title = $parts[$i]; + + } // End FOR Loop + + // No output preview if it's not an image. + + $output .= ''; + + // Standard generic output if it's not an image. + + $title = __( 'View File', 'woothemes' ); + + $output .= '
        '.$title.'' . $remove . '
        '; + + } // End IF Statement + + } // End IF Statement + + $output .= '
        ' . "\n"; + + return $output; + + } // End woothemes_medialibrary_uploader() + +} // End IF Statement + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_get_silentpost */ +/* +/* Use "silent" posts in the database to store relationships for images. +/* This also creates the facility to collect galleries of, for example, logo images. +/* +/* Return: $_postid. +/* +/* If no "silent" post is present, one will be created with the type "wooframework" +/* and the post_name of "woo-wf-$_token". +/* +/* Example Usage: +/* woothemes_mlu_get_silentpost ( 'woo_logo' ); +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_get_silentpost' ) ) { + + function woothemes_mlu_get_silentpost ( $_token ) { + + global $wpdb; + + $_id = 0; + + // Check if the token is valid against a whitelist. + + // $_whitelist = array( 'woo_logo', 'woo_custom_favicon', 'woo_body_img', 'woo_ad_top_image' ); + + // Sanitise the token. + + $_token = strtolower( str_replace( ' ', '_', $_token ) ); + + // if ( in_array( $_token, $_whitelist ) ) { + + if ( $_token ) { + + // Tell the function what to look for in a post. + + $_args = array( 'post_type' => 'wooframework', 'post_name' => 'woo-wf-' . $_token, 'post_status' => 'draft', 'comment_status' => 'closed', 'ping_status' => 'closed' ); + + // Look in the database for a "silent" post that meets our criteria. + + $query = 'SELECT ID FROM ' . $wpdb->posts . ' WHERE post_parent = 0'; + + foreach ( $_args as $k => $v ) { + + $query .= ' AND ' . $k . ' = "' . $v . '"'; + + } // End FOREACH Loop + + $query .= ' LIMIT 1'; + + $_posts = $wpdb->get_row( $query ); + + // If we've got a post, loop through and get it's ID. + + if ( count( $_posts ) ) { + + $_id = $_posts->ID; + + } else { + + // If no post is present, insert one. + + // Prepare some additional data to go with the post insertion. + + $_words = explode( '_', $_token ); + + $_title = join( ' ', $_words ); + + $_title = ucwords( $_title ); + + $_post_data = array( 'post_title' => $_title ); + + $_post_data = array_merge( $_post_data, $_args ); + + $_id = wp_insert_post( $_post_data ); + + } // End IF Statement + + } // End IF Statement + + // echo 'POST - ' . $_token . ' ' . $_id; + + return $_id; + + } // End woothemes_mlu_get_silentpost() + +} // End IF Statement + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_insidepopup */ +/* +/* Trigger code inside the Media Library popup. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_insidepopup' ) ) { + + function woothemes_mlu_insidepopup () { + + if ( isset( $_REQUEST['is_woothemes'] ) && $_REQUEST['is_woothemes'] == 'yes' ) { + + add_action( 'admin_head', 'woothemes_mlu_js_popup' ); + add_filter( 'media_upload_tabs', 'woothemes_mlu_modify_tabs' ); + + } // End IF Statement + + } // End woothemes_mlu_insidepopup() + +} // End IF Statement + +if ( ! function_exists( 'woothemes_mlu_js_popup' ) ) { + + function woothemes_mlu_js_popup () { + + $_woo_title = $_REQUEST['woo_title']; + + if ( ! $_woo_title ) { $_woo_title = 'file'; } // End IF Statement + +?> + + \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/admin-sbm.php b/src/wp-content/themes/originalhouse/functions/admin-sbm.php new file mode 100644 index 0000000..bbc45e0 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/admin-sbm.php @@ -0,0 +1,1453 @@ + $s ) { + $sidebars_by_type[$s['conditionals']['conditional']][$k] = $s; + } + + if ( ! empty( $sidebars_by_type ) ) { + foreach( $priority as $key ) { + + if( array_key_exists( $key, $sidebars_by_type ) ) { + foreach ( $sidebars_by_type[$key] as $k => $s ) { + + if ( $key == 'hierarchy' ) { + $hierarchy_sidebars[$k] = $s; + } else { + $reordered_sidebars[$k] = $s; + } + + } + unset( $sidebars_by_type[$key] ); + } else { + // Place the taxonomies in their own array (there could be any number of custom ones) + $custom_taxonomies[$k] = $s; + } + } + } + + $reordered_sidebars = array_merge( (array) $reordered_sidebars, (array) $custom_taxonomies, (array) $hierarchy_sidebars ); + + $woo_sbm_options['sidebars'] = $reordered_sidebars; + + foreach($woo_sbm_options['sidebars'] as $sidebar){ + + $id = $sidebar['conditionals']['id']; + $type = $sidebar['conditionals']['conditional']; + $sidebar_id = $sidebar['conditionals']['sidebar_id']; + $sidebar_to_replace = $sidebar['conditionals']['sidebar_to_replace']; + $sidebar_piggy = $sidebar['conditionals']['piggy']; + + if(!empty($sidebar_piggy)) { + $sidebar_id = $sidebar_piggy; + $sidebar_to_replace = $woo_sbm_options['sidebars'][$sidebar_id]['conditionals']['sidebar_to_replace']; + } // End IF Statement + + //For query posts in the wild + wp_reset_query(); + + /*------------------------------------------------------------*/ + /* Support for custom post types, if using WordPress 3.0+. + /*------------------------------------------------------------*/ + + global $wp_version, $post; + + $_post_types = array(); + + if ( $wp_version >= '3.0' ) { + + $_args = array( + 'show_ui' => true, + 'public' => true, + 'publicly_queryable' => true, + '_builtin' => false + ); + + $_post_types = get_post_types( $_args, 'object' ); + + // Set certain post types that aren't allowed to have custom sidebars. + + $_disallowed_types = array( 'slide' ); + + // Make the array pluggable. + + $_disallowed_types = apply_filters( 'wooframework_sbm_disallowed_posttypes', $_disallowed_types ); + + if ( count( $_post_types ) ) { + + foreach ( $_post_types as $k => $v ) { + + if ( in_array( $k, $_disallowed_types ) ) { + + unset( $_post_types[$k] ); + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + if ( ( $type == 'custom_post_type' || $id == 'singular' ) && in_array( $post->post_type, array_keys( $_post_types ) ) ) { + + if( $post->post_type == $id && $sidebar_id == 'woo_sbm_custom_post_type_' . $id . '_' . $current_sidebar_id ) { + + if($sidebar_to_replace == $current_sidebar_id) { + + $current_sidebar_id = $sidebar_id; + + // Set this to prevent the system from conflicting with the template hierarchy. + $_is_replaced = true; + + } // End IF Statement + + } else { + + if ( is_singular() && $sidebar_id == 'woo_sbm_hierarchy_singular_' . $current_sidebar_id ) { + + $current_sidebar_id = $sidebar_id; + + // Set this to prevent the system from conflicting with the template hierarchy. + $_is_replaced = true; + + } // End IF Statement + + } // End IF Statement + + } else { + + //Find conditionals return required sidebar + if( $type == 'page' && $id == $post->ID ) { + + if( is_page( $post->ID ) && ! is_archive() && ! is_home() ) + + if($sidebar_to_replace == $current_sidebar_id) { + $current_sidebar_id = $sidebar_id; + + // Set this to prevent the system from conflicting with the template hierarchy. + $_is_replaced = true; + } + + } // End IF Statement + + if( $type == 'category'/* && ! is_home() && ! $_is_replaced && ! is_singular()*/ ) { + + if( is_category($id) || ( is_single() && in_category( $id ) ) ) { + if($sidebar_to_replace == $current_sidebar_id) { + $current_sidebar_id = $sidebar_id; + + // Set this to prevent the system from conflicting with the template hierarchy. + $_is_replaced = true; + } + } + + } // End IF Statement + + if( $type == 'post_tag'/* && ! is_home() && ! $_is_replaced*/ ) { + $tag_data = get_tag($id); + if(is_tag($tag_data->slug)) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + + // Set this to prevent the system from conflicting with the template hierarchy. + $_is_replaced = true; + + } // End IF Statement + + if( $type == 'page_template'/* && ! is_home() && ! $_is_replaced*/ ) { + if(is_page_template($id)) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + + // Set this to prevent the system from conflicting with the template hierarchy. + $_is_replaced = true; + + } // End IF Statement + + if( $type == 'hierarchy' && ! $_is_replaced ) { + + if($id == 'front_page') + if(is_front_page()) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + if($id == 'home') + if(is_home()) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + if($id == 'single') + if(is_single()) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + if($id == 'page') + if(is_page()) + if ( ! in_array( 'woo_sbm_page_' . $post->ID . '_' . $sidebar_to_replace, array_keys( $woo_sbm_options['sidebars'] ) ) ) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + + if($id == 'singular') + if(is_singular()) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + if($id == 'date') + if(is_date()) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + if($id == 'archive') + if(is_archive()) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + if($id == 'category') + if(is_category()) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + if($id == 'tag') + if(is_tag()) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + if($id == 'tax') + if(is_tax()) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + if($id == 'author') + if(is_author()) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + if($id == 'search') + if(is_search()) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + if($id == 'paged') + if(is_paged()) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + if($id == 'attach') + if(is_attach()) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + if($id == '404') + if(is_404()) + if($sidebar_to_replace == $current_sidebar_id) + $current_sidebar_id = $sidebar_id; + + } // End IF Statement + + if ($type == '') { + $type_tax = $sidebar['conditionals']['type']; + if ($type_tax != '') { + + // Get taxonomy query object + global $wp_query; + + $taxonomy_archive_query_obj = $wp_query->get_queried_object(); + + if ( (is_tax( $taxonomy_archive_query_obj->name, $taxonomy_archive_query_obj->slug ) ) && ( $id == $taxonomy_archive_query_obj->term_id ) ) { $sentinel = true; } // End IF Statement + + if ( ! $sentinel ) { + + // CUSTOM TAXONOMIES + $wp_custom_taxonomy_args = array( '_builtin' => false ); + $woo_wp_custom_taxonomies = array(); + $woo_wp_custom_taxonomies = get_taxonomies($wp_custom_taxonomy_args,'objects' ); + $sentinel = false; + foreach ($woo_wp_custom_taxonomies as $woo_wp_custom_taxonomy) { + // checks for match to taxonomy + if ($type_tax == $woo_wp_custom_taxonomy->name) { + $term_list = get_the_terms( 0, $woo_wp_custom_taxonomy->name ); + $term_results = ''; + if ($term_list) { + foreach ($term_list as $term_item) { + if ( (is_tax($woo_wp_custom_taxonomy->name, $term_item->slug)) && ($id == $term_item->term_id) ) { $sentinel = true; } // End IF Statement + } // End FOREACH Loop + } // End IF Statement + } // End IF Statement + } // End FOREACH Loop + + } // End IF Statement + + if ($sentinel) { + if($sidebar_to_replace == $current_sidebar_id) { + $current_sidebar_id = $sidebar_id; + } // End IF Statement + } // End IF Statement + } // End IF Statement + } // End IF Statement + + } // End Custom Post Type IF Statement + + } // End FOREACH Loop + } // End IF Statement + + return $current_sidebar_id; + +} // End woo_sbm_sidebar() + +//Adding the filter that injects the right sidebar ID back into the woo_sidebar function. +add_filter( 'woo_inject_sidebar','woo_sbm_sidebar' ); + +// Register new widgetized areas via plugin +if (!function_exists( 'woo_sbm_widgets_init')) { + function woo_sbm_widgets_init() { + if ( !function_exists( 'register_sidebars') ) + return; + + $woo_sbm_options = get_option( 'sbm_woo_sbm_options' ); + if(!empty($woo_sbm_options['sidebars'])){ + foreach($woo_sbm_options['sidebars'] as $sidebars){ + if(empty($sidebars['conditionals']['piggy'])) + register_sidebar($sidebars['setup']); + } + } + } +} + +add_action( 'init', 'woo_sbm_widgets_init' ); + +/* Sidebar Manager - Reset Function +--------------------------------------------------*/ + +function woothemes_sbm_reset () { + + $default_data = array( 'sidebars' => array() ); + + update_option( 'sbm_woo_sbm_options', $default_data ); + +} // End woothemes_sbm_reset() + +function woothemes_sbm_page(){ + + global $wp_registered_sidebars; + + // If the user wants to reset the script, we reset the script. + if ( isset( $_POST['woo_save'] ) && $_POST['woo_save'] == 'sbm_reset' ) { + + woothemes_sbm_reset(); + + } // End IF Statement + + //Load SBM settings + $init_array = array( 'sidebars' => array(),'settings' => array( 'infobox' => 'show')); + add_option( 'sbm_woo_sbm_options',$init_array); + $woo_sbm_options = get_option( 'sbm_woo_sbm_options' ); + + //Error checking + if(!empty($woo_sbm_options['sidebars'])){ + foreach($woo_sbm_options['sidebars'] as $key => $options){ + if(empty($key)){ unset($woo_sbm_options['sidebars'][$key]); } + } + + } + + //delete_option( 'sbm_woo_sbm_options' ); + $themename = get_option( 'woo_themename' ); + $manualurl = get_option( 'woo_manual' ); + + //Framework Version in Backend Head + $woo_framework_version = get_option( 'woo_framework_version' ); + + //Version in Backend Head + $theme_data = get_theme_data( get_template_directory() . '/style.css' ); + $local_version = $theme_data['Version']; + + //Outout for original sidebars, and new sidebars + $init_sidebars = ''; + $init_sidebar = ''; + $new_sidebars = ''; + $counter = 0; + foreach($wp_registered_sidebars as $sidebar){ + if(!strstr($sidebar['id'],'woo_sbm_')){ + $counter++; + if($counter == 1) { $init_sidebar = $sidebar['name']; } + $init_sidebars .= ''; + } else { + $new_sidebars .= ''; + } + }; + + //Start script output + ?> + + +
        + + +
        +
        + +
        + +

        WooThemes Sidebar Manager

        + +

        You're one step closer to having total control over your theme. This Sidebar Manager is available only to themes running + version 3.0.0 of the WooFramework. If you can see this message you're framework is up-to-date. Good Job!

        + +

        If you have not downloaded the latest version of this theme, but rather updated it from the theme options backend, you will need to upgrade + your theme manually if you're want to make use of this Sidebar Manager feature. Please take note of the following:

        + +

        Manual Installation: Replace all the dynamic_sidebar functions with the new + woo_sidebar and replace all is_active_sidebar with the new woo_active_sidebar. These are typically found in the + sidebar.php & footer.php files.

        + + Close + +
        + + +
        + +
        +

        Choose a Template

        +
          + 'ASC')); ?> + +
        • Pages [-] +
            + ID,$woo_sbm_options['sidebars'])){ continue; } + echo '
          • ' . $page->post_title . 'type=page&name='. urlencode( $page->post_title ) .'&slug='.$page->post_name.'&id='. $page->ID.'&other=null
          • '; + } ?> +
          +
        • + +
        • Page Templates [+] +
            + $template){ + //$template = str_replace( '.','',$template); + //if(array_key_exists( 'woo_sbm_page_template_'.$template,$woo_sbm_options['sidebars'])){ continue; } + echo '
          • ' . $name .'type=page_template&name='. urlencode( $name ) .'&slug='.$template.'&id=null&other=null
          • '; + }; ?> +
          +
        • + +
        • [+] +
            term_id,$woo_sbm_options['sidebars'])){ continue; } + echo '
          • ' . $term->name . 'type='. $taxonomy .'&name='. urlencode( $term->name ) .'&slug='.$term->slug.'&id='.$term->term_id.'&other='.$taxonomy.'
          • '; + }?> +
          +
        • + + +
        • Template Hierarchy [+] +
            + 'front_page', + 'Home' => 'home', + 'Posts (single.php)' => 'single', + 'Pages' => 'page', + 'Singular (posts and pages)' => 'singular', + 'All Archives' => 'archive', + 'Category Archive' => 'category', + 'Tag Archive' => 'tag', + 'Taxonomy Archive' => 'tax', + 'Author Archive' => 'author', + 'Date Archive' => 'date', + 'Search Results' => 'search', + 'Paged' => 'paged', + 'Attachment' => 'attach', + '404' => '404' + ); + foreach($heirarchy as $name => $item){ + //if(array_key_exists ( 'woo_sbm_hierarchy_' . $item,$woo_sbm_options['sidebars'])){ continue; } + echo '
          • '.$name.'type=hierarchy&name='.$name.'&slug='.$item.'&id=null&other=null&other=null
          • '; + } + ?> +
          +
        • + = '3.0' ) { + + $_args = array( + 'show_ui' => true, + 'public' => true, + 'publicly_queryable' => true, + '_builtin' => false + ); + + $_post_types = get_post_types( $_args, 'object' ); + + // Set certain post types that aren't allowed to have custom sidebars. + + $_disallowed_types = array( 'slide' ); + + // Make the array pluggable. + + $_disallowed_types = apply_filters( 'wooframework_sbm_disallowed_posttypes', $_disallowed_types ); + + if ( count( $_post_types ) ) { + + foreach ( $_post_types as $k => $v ) { + + if ( in_array( $k, $_disallowed_types ) ) { + + unset( $_post_types[$k] ); + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + if ( count( $_post_types ) ) { + ?> +
        • + Custom Post Type[+] + ' . "\n"; + + foreach ( $_post_types as $k => $v ) { + + $_html .= '
        • ' . $v->labels->name . 'type=custom_post_type&name=' . urlencode( $v->labels->name ) . '&slug=' . urlencode( $k ) . '&id=' . urlencode( $k ) . '&other=' . urlencode( $k ) . '
        • ' . "\n"; + + } // End FOREACH Loop + + $_html .= '
        ' . "\n"; + + echo $_html; + + ?> + + + +
        + +
        + +
        + +
        + + Start by selecting a template from the menu on the left for your new sidebar. The new sidebar will be available on the Widgets page.
        Please note that, if custom sidebars are created for categories, the sidebar of the posts in that category will use the first custom sidebar created for categories assigned to that post (eg: if "Category 1" and "Category 2" are assigned to the post and the "Category 2" custom sidebar is created first, that sidebar will be displayed on the single post template).*/ ?>
        + + +
        + +
        + +

        Custom Sidebars Newly created sidebars

        + + + +
        No sidebars added yet.
        + +
        + +
        + +
        +
        +
        +
        + +
        + + + + +
        +
        +
        +
        +    
        +    
        +
        + + $value ) { + if ( sanitize_title($value['name']) == $index ) { + $index = $key; + break; + } + } + } + + $sidebar_data = $wp_registered_sidebars[$index]; + + $woo_sbm_new_set = array( "setup" => array( 'name' => $sidebar_title, + 'id' => $new_id, + 'description' => $sidebar_description, + 'before_widget' => $sidebar_data['before_widget'], + 'after_widget' => $sidebar_data['after_widget'], + 'before_title' => $sidebar_data['before_title'], + 'after_title' => $sidebar_data['after_title'] + ), + "conditionals" => array( 'name' => $sidebar_title, + 'type' => $type, + 'id' => $id, + 'conditional' => $conditional, + 'sidebar_id' => $new_id, + 'other' => $other, + 'sidebar_to_replace' => $sidebar_to_replace, + 'piggy' => $sidebar_piggyback + ) + ); + + $woo_sbm_options['sidebars'][$new_id] = $woo_sbm_new_set; + + update_option( 'sbm_woo_sbm_options',$woo_sbm_options); + + if(!empty($sidebar_piggyback)){ + $piggy = '1'; + } else { $piggy = '0';} + + echo "$type|$name|$slug|$id|$other|$conditional|$stage|$sidebar_title|$new_id|$piggy"; + } + + if($save_type == 'woo_sbm_delete-sidebar'){ + $id = $_POST['data']; + $ids = array(); + $woo_sbm_options_temp = $woo_sbm_options; + if(!empty($woo_sbm_options['sidebars'])){ + $pos = ''; + foreach($woo_sbm_options['sidebars'] as $top_id => $sidebar){ + $sidebar_piggy = $sidebar['conditionals']['piggy']; + + if($id == $top_id OR $id == $sidebar_piggy){ + unset($woo_sbm_options_temp['sidebars'][$top_id]); + $ids[] = $top_id; + } + + if($id == $top_id){ $pos = $id; } + } + } + update_option( 'sbm_woo_sbm_options',$woo_sbm_options_temp); + if(is_array($ids)){ + $id = implode( ',#',$ids); + } + echo "#$id|$pos"; + } + + if($save_type == 'woo_sbm_save-sidebar'){ + + $data = $_POST['data']; + + parse_str($data,$data_array); + + $id = $data_array['sidebar_id']; + $sidebar_to_replace = $data_array['sidebar_to_replace']; + $name = $data_array['sidebar_name']; + $desc = $data_array['sidebar_description']; + + + $woo_sbm_options['sidebars'][$id]['conditionals']['sidebar_to_replace'] = $sidebar_to_replace; + $woo_sbm_options['sidebars'][$id]['setup']['name'] = $name; + $woo_sbm_options['sidebars'][$id]['conditionals']['name'] = $name; + $woo_sbm_options['sidebars'][$id]['setup']['description'] = $desc; + + $sidebar_to_replace_nice = $wp_registered_sidebars[$sidebar_to_replace]['name']; + echo "$name|$sidebar_to_replace_nice"; + + update_option( 'sbm_woo_sbm_options',$woo_sbm_options); + + } + + if($save_type == 'woo_sbm_dismiss_intro'){ + + //$data = $_POST['data']; + $temp_options = get_option( 'sbm_woo_sbm_options' ); + $temp_options['settings']['infobox'] = 'hide'; + + update_option( 'sbm_woo_sbm_options',$temp_options); + + + } + die(); + +} + + + +?> \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/admin-seo.php b/src/wp-content/themes/originalhouse/functions/admin-seo.php new file mode 100644 index 0000000..d0b1efd --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/admin-seo.php @@ -0,0 +1,377 @@ + 'Page title; Blog title', + 'b' => 'Page title;', + 'c' => 'Blog title; Page title;', + 'd' => 'Page title; Blog description', + 'e' => 'Blog title; Page title; Blog description' + ); + + $seo_options = array(); + + $seo_options[] = array( "name" => "General Settings", + "icon" => "general", + "type" => "heading" ); + + $seo_options[] = array( "name" => "Please Read", + "type" => "info", + "std" => "Welcome to the WooSEO feature.
        Here we help you take control of your search engine readiness with some in-built theme options. Our themes do however support some of WordPress.org's most commonly used SEO plugins - All-in-One SEO Pack, Headspace 2 and WordPress SEO By Yoast. Use the checkbox below to use 3rd party plugin data." ); + + $seo_options[] = array( "name" => "Use 3rd Party Plugin Data", + "desc" => "Meta data added to custom fields in posts and pages will be extracted and used where applicable. This typically does not include Homepages and Archives, and only Singular templates.", + "id" => $shortname."_use_third_party_data", + "std" => "false", + "type" => "checkbox" ); + + $seo_options[] = array( "name" => "Hide SEO custom fields", + "desc" => "Check this box to hide the input fields created in the post and page edit screens.", + "id" => $shortname."_hide_fields", + "std" => "false", + "type" => "checkbox" ); + + $seo_options[] = array( "name" => "Page Title", + "icon" => "misc", + "type" => "heading" ); + + $seo_options[] = array( "name" => "Separator", + "desc" => "Define a new separator character for your page titles.", + "id" => $shortname."_seperator", + "std" => "|", + "type" => "text" ); + + $seo_options[] = array( "name" => "Blog Title", + "desc" => "NOTE: This is the same setting as per the SETTINGS > GENERAL tab in the WordPress backend.", + "id" => "blogname", + "std" => "", + "type" => "text" ); + + $seo_options[] = array( "name" => "Blog Description", + "desc" => "NOTE: This is the same setting as per the SETTINGS > GENERAL tab in the WordPress backend.", + "id" => "blogdescription", + "std" => "", + "type" => "text" ); + + $seo_options[] = array( "name" => "Enable woo_title()", + "desc" => "woo_title() makes use of WordPress's built in wp_title() function to control the output for your page titles. It's also recommended for use with plugins.", + "id" => $shortname."_wp_title", + "std" => "false", + "class" => "collapsed", + "type" => "checkbox" ); + + $seo_options[] = array( "name" => "Disable Custom Titles", + "desc" => "If you prefer to have uniform titles across you theme. Alternatively they will be generated from custom fields and/or plugin data.", + "id" => $shortname."_wp_custom_field_title", + "std" => "false", + "class" => "hidden", + "type" => "checkbox" ); + + $seo_options[] = array( "name" => "Paged Variable", + "desc" => "The name variable that will appear then paging through archives.", + "id" => $shortname."_paged_var", + "std" => "Page", + "class" => "hidden", + "type" => "text" ); + + $seo_options[] = array( "name" => "Paged Variable Position", + "desc" => "Change the position where the paged variable will appear.", + "id" => $shortname."_paged_var_pos", + "std" => "before", + "class" => "hidden", + "options" => array( 'before' => 'Before', + 'after' => 'After'), + "type" => "select2" ); + + $seo_options[] = array( "name" => "Homepage Title Layout", + "desc" => "Define the order the title, description and meta data appears in.", + "id" => $shortname."_home_layout", + "std" => "", + "class" => "hidden", + "options" => array( 'a' => 'Blog title; blog description', + 'b' => 'Blog title', + 'c' => 'Blog description'), + "type" => "select2" ); + + $seo_options[] = array( "name" => "Single Title Layout", + "desc" => "Define the order the title, description and meta data appears in.", + "id" => $shortname."_single_layout", + "std" => "", + "class" => "hidden", + "options" => $inner_pages, + "type" => "select2" ); + + $seo_options[] = array( "name" => "Page Title Layout", + "desc" => "Define the order the title, description and meta data appears in.", + "id" => $shortname."_page_layout", + "std" => "", + "class" => "hidden", + "options" => $inner_pages, + "type" => "select2" ); + + $seo_options[] = array( "name" => "Archive Title Layout", + "desc" => "Define the order the title, description and meta data appears in.", + "id" => $shortname."_archive_layout", + "std" => "", + "class" => "hidden", + "options" => $inner_pages, + "type" => "select2" ); + + $seo_options[] = array( "name" => "Indexing Meta", + "icon" => "misc", + "type" => "heading" ); + + /*$seo_options[] = array( "name" => "Add Indexing Meta", + "desc" => "Add links to the header telling the search engine what the start, next, previous and home urls are.", + "id" => $shortname."_meta_basics", + "std" => "false", + "type" => "checkbox" ); */ + + $seo_options[] = array( "name" => "Archive Indexing", + "desc" => "Select which archives to index on your site. Aids in removing duplicate content from being indexed, preventing content dilution.", + "id" => $shortname."_meta_indexing", + "std" => "category", + "type" => "multicheck", + "options" => array( 'category' => 'Category Archives', + 'tag' => 'Tag Archives', + 'author' => 'Author Pages', + 'search' => 'Search Results', + 'date' => 'Date Archives')); + + $seo_options[] = array( "name" => "Set meta for Posts & Pages to 'follow' by default", + "desc" => "By default the woo_meta(); adds a 'nofollow' meta to post and pages, meaning search engines will not index pages leading away from these pages.", + "id" => $shortname."_meta_single_follow", + "std" => "", + "type" => "checkbox" ); + + + $seo_options[] = array( "name" => "Description Meta", + "icon" => "misc", + "type" => "heading" ); + + $seo_options[] = array( "name" => "Homepage Description", + "desc" => "Choose where to populate your Homepage meta description from.", + "id" => $shortname."_meta_home_desc", + "std" => "a", + "options" => array( "a" => "Off", + "b" => "From WP Site Description", + "c" => "From Custom Homepage Description"), + "type" => "radio" ); + + $seo_options[] = array( "name" => "Custom Homepage Description", + "desc" => "Add a custom meta description to your homepage.", + "id" => $shortname."_meta_home_desc_custom", + "std" => "", + "type" => "textarea" ); + + $seo_options[] = array( "name" => "Single Page/Post Description", + "desc" => "Add your post/page description from custom fields. * See below", + "id" => $shortname."_meta_single_desc", + "std" => "a", + "options" => array( "a" => "Off *", + "b" => "From Customs Field and/or Plugins", + "c" => "Automatically from Post/Page Content", + ), + "type" => "radio" ); + + $seo_options[] = array( "name" => "Global Post/Page Descriptions", + "desc" => "Add a custom meta description to your posts and pages. This will only show if no other data is available from the selection above. Will still be added even if setting above is set to \"Off\".", + "id" => $shortname."_meta_single_desc_sitewide", + "std" => "", + "class" => "collapsed", + "type" => "checkbox" ); + + $seo_options[] = array( "name" => "Add Global Description", + "desc" => "Add your global decription.", + "id" => $shortname."_meta_single_desc_custom", + "std" => "", + "class" => "hidden", + "type" => "textarea" ); + + $seo_options[] = array( "name" => "Keyword Meta", + "icon" => "misc", + "type" => "heading" ); + + $seo_options[] = array( "name" => "Homepage Keywords", + "desc" => "Choose where to populate your Homepage meta description from.", + "id" => $shortname."_meta_home_key", + "std" => "a", + "options" => array( "a" => "Off", + "c" => "From Custom Homepage Keywords"), + "type" => "radio" ); + + $seo_options[] = array( "name" => "Custom Homepage Keywords", + "desc" => "Add a (comma separated) list of keywords to your homepage.", + "id" => $shortname."_meta_home_key_custom", + "std" => "", + "type" => "textarea" ); + + $seo_options[] = array( "name" => "Single Page/Post Keywords", + "desc" => "Add your post/page keywords from custom field. * See below", + "id" => $shortname."_meta_single_key", + "std" => "a", + "options" => array( "a" => "Off *", + "b" => "From Custom Fields and/or Plugins", + "c" => "Automatically from Post Tags & Categories"), + "type" => "radio" ); + + $seo_options[] = array( "name" => "Custom Post/Page Keywords", + "desc" => "Add custom meta keywords to your posts and pages. This will only show if no other data is available from the options above. Even if the option above is set to 'Off', this will still be added to your site.", + "id" => $shortname."_meta_single_key_sitewide", + "std" => "", + "class" => "collapsed", + "type" => "checkbox" ); + + $seo_options[] = array( "name" => "Custom Post/Page Keywords", + "desc" => "Add a (comma separated) list of keywords to your posts and pages.", + "id" => $shortname."_meta_single_key_custom", + "std" => "", + "class" => "hidden", + "type" => "textarea" ); + + + update_option( 'woo_seo_template',$seo_options); + + + ?> + +
        +

        3rd Party SEO Plugin(s) Detected - Some WooTheme SEO functionality has been disabled.

        "; + + } + + ?> +

        This site is set to Private - SEO is disabled, change settings here.

        "; + + } + + ?> +
        Options Updated
        +
        Options Reset
        +
        + + + + + + +
        +
        +
          + +
        +
        +
        + +
        +
        + +
        +
        + + + + +
        + + + + + + + +
        + + +
        + + + +
        + + + \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/admin-setup.php b/src/wp-content/themes/originalhouse/functions/admin-setup.php new file mode 100644 index 0000000..a43cb61 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/admin-setup.php @@ -0,0 +1,275 @@ +\n"; + if ($style != '') { + echo ''."\n\n"; + } else { + $style = get_option( 'woo_alt_stylesheet' ); + if( $style != '' ) { + // Sanitize value. + $style = strtolower( strip_tags( trim( $style ) ) ); + echo ''."\n\n"; + } else { + echo ''."\n\n"; + } + } + + } +} + +/*-----------------------------------------------------------------------------------*/ +/* Output favicon link - woo_custom_favicon() */ +/*-----------------------------------------------------------------------------------*/ +if ( ! function_exists( 'woo_output_custom_favicon' ) ) { + function woo_output_custom_favicon() { + // Favicon + if(get_option( 'woo_custom_favicon') != '') { + echo "\n"; + echo ''."\n\n"; + } + + } +} + +/*-----------------------------------------------------------------------------------*/ +/* Load textdomain - woo_load_textdomain() */ +/*-----------------------------------------------------------------------------------*/ +if ( ! function_exists( 'woo_load_textdomain' ) ) { + function woo_load_textdomain() { + + load_theme_textdomain( 'woothemes' ); + load_theme_textdomain( 'woothemes', get_template_directory() . '/lang' ); + if ( function_exists( 'load_child_theme_textdomain' ) ) + load_child_theme_textdomain( 'woothemes' ); + + } +} + +add_action( 'init', 'woo_load_textdomain' ); + +/*-----------------------------------------------------------------------------------*/ +/* Output CSS from standarized options */ +/*-----------------------------------------------------------------------------------*/ +if ( ! function_exists( 'woo_head_css' ) ) { + function woo_head_css() { + + $output = ''; + $text_title = get_option( 'woo_texttitle' ); + $tagline = get_option( 'woo_tagline' ); + $custom_css = get_option( 'woo_custom_css' ); + + $template = get_option( 'woo_template' ); + if (is_array($template)) { + foreach($template as $option){ + if(isset($option['id'])){ + if($option['id'] == 'woo_texttitle') { + // Add CSS to output + if ( $text_title == "true" ) { + $output .= '#logo img { display:none; } #logo .site-title { display:block; }' . "\n"; + if ( $tagline == "false" ) + $output .= '#logo .site-description { display:none; }' . "\n"; + else + $output .= '#logo .site-description { display:block; }' . "\n"; + } + } + } + } + } + + if ($custom_css <> '') { + $output .= $custom_css . "\n"; + } + + // Output styles + if ($output <> '') { + $output = strip_tags($output); + echo "\n"; + $output = "\n\n"; + echo $output; + } + + } +} + + + +/*-----------------------------------------------------------------------------------*/ +/* Output custom.css - woo_custom_css() */ +/*-----------------------------------------------------------------------------------*/ +if (!function_exists( 'woo_output_custom_css')) { + function woo_output_custom_css() { + + // Custom.css insert + echo "\n"; + echo ''."\n"; + + } +} + +/*-----------------------------------------------------------------------------------*/ +/* Post Images from WP2.9+ integration /* +/*-----------------------------------------------------------------------------------*/ +if(function_exists( 'add_theme_support')){ + if(get_option( 'woo_post_image_support') == 'true'){ + add_theme_support( 'post-thumbnails' ); + // set height, width and crop if dynamic resize functionality isn't enabled + if ( get_option( 'woo_pis_resize') != 'true' ) { + $thumb_width = get_option( 'woo_thumb_w' ); + $thumb_height = get_option( 'woo_thumb_h' ); + $single_width = get_option( 'woo_single_w' ); + $single_height = get_option( 'woo_single_h' ); + $hard_crop = get_option( 'woo_pis_hard_crop' ); + if($hard_crop == 'true') {$hard_crop = true; } else { $hard_crop = false;} + set_post_thumbnail_size($thumb_width,$thumb_height, $hard_crop); // Normal post thumbnails + add_image_size( 'single-post-thumbnail', $single_width, $single_height, $hard_crop ); + } + } +} + + +/*-----------------------------------------------------------------------------------*/ +/* Enqueue comment reply script */ +/*-----------------------------------------------------------------------------------*/ +if (!function_exists( 'woo_comment_reply')) { + function woo_comment_reply() { + if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); + } +} +add_action( 'get_header', 'woo_comment_reply' ); + + +?> \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/admin-shortcode-generator.php b/src/wp-content/themes/originalhouse/functions/admin-shortcode-generator.php new file mode 100644 index 0000000..93aab14 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/admin-shortcode-generator.php @@ -0,0 +1,183 @@ +framework_url() . 'js/colorpicker.js', array( 'jquery' ), '3.6', true ); // Loaded into the footer. + wp_enqueue_script( 'woo-colourpicker' ); + + // Register the colourpicker CSS. + wp_register_style( 'woo-colourpicker', $this->framework_url() . 'css/colorpicker.css' ); + wp_enqueue_style( 'woo-colourpicker' ); + + // Register the custom CSS styles. + wp_register_style( 'woo-shortcode-generator', $this->framework_url() . 'css/shortcode-generator.css' ); + wp_enqueue_style( 'woo-shortcode-generator' ); + + } // End IF Statement + + } // End init() + +/*----------------------------------------------------------------------------------- + filter_mce_buttons() + + * Add our new button to the tinyMCE editor. +-----------------------------------------------------------------------------------*/ + + function filter_mce_buttons( $buttons ) { + + array_push( $buttons, '|', 'woothemes_shortcodes_button' ); + + return $buttons; + + } // End filter_mce_buttons() + +/*----------------------------------------------------------------------------------- + filter_mce_external_plugins() + + * Add functionality to the tinyMCE editor as an external plugin. +-----------------------------------------------------------------------------------*/ + + function filter_mce_external_plugins( $plugins ) { + + $plugins['WooThemesShortcodes'] = $this->framework_url() . 'js/shortcode-generator/editor_plugin.js'; + + return $plugins; + + } // End filter_mce_external_plugins() + +/*----------------------------------------------------------------------------------- + Utility Functions + + * Helper functions for this class. +-----------------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------------- + framework_url() + + * Returns the full URL of the WooFramework, including trailing slash. +-----------------------------------------------------------------------------------*/ + +function framework_url() { + + return trailingslashit( get_template_directory_uri() . '/' . basename( dirname( __FILE__ ) ) ); + +} // End framework_url() + +/*----------------------------------------------------------------------------------- + ajax_action_check_url() + + * Checks if a given url (via GET or POST) exists. + * Returns JSON. + * + * NOTE: For users that are not logged in this is not called. + * The client recieves -1 in that case. +-----------------------------------------------------------------------------------*/ + +function ajax_action_check_url() { + + $hadError = true; + + $url = isset( $_REQUEST['url'] ) ? $_REQUEST['url'] : ''; + + if ( strlen( $url ) > 0 && function_exists( 'get_headers' ) ) { + + $file_headers = @get_headers( $url ); + $exists = $file_headers && $file_headers[0] != 'HTTP/1.1 404 Not Found'; + $hadError = false; + } + + echo '{ "exists": '. ($exists ? '1' : '0') . ($hadError ? ', "error" : 1 ' : '') . ' }'; + + die(); + +} // End ajax_action_check_url() + +/*----------------------------------------------------------------------------------- + shortcode_testing() + + * Used for testing that the shortcodes are functioning. +-----------------------------------------------------------------------------------*/ + +function shortcode_testing( $atts, $content = null ) { + + if ($content === null) return ''; + + return 'Working: ' . $content . '' . "\n"; + +} // End shortcode_testing() + +} // End Class + +/*----------------------------------------------------------------------------------- + INSTANTIATE CLASS +-----------------------------------------------------------------------------------*/ + +$woo_shortcode_generator = new WooThemes_Shortcode_Generator(); +?> \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/admin-shortcodes.php b/src/wp-content/themes/originalhouse/functions/admin-shortcodes.php new file mode 100644 index 0000000..c46b188 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/admin-shortcodes.php @@ -0,0 +1,2163 @@ +\n"; + echo ''."\n\n"; + } +} + +// Replace WP autop formatting +if (!function_exists( "woo_remove_wpautop")) { + function woo_remove_wpautop($content) { + $content = do_shortcode( shortcode_unautop( $content ) ); + $content = preg_replace( '#^<\/p>|^
        |

        $#', '', $content); + return $content; + } +} + +/*-----------------------------------------------------------------------------------*/ +/* 1.1 Output shortcode JS in footer */ +/*-----------------------------------------------------------------------------------*/ + +// Enqueue shortcode JS file. + +add_action( 'init', 'woo_enqueue_shortcode_js' ); + +function woo_enqueue_shortcode_js () { + + if ( is_admin() ) {} else { + + wp_enqueue_script( 'woo-shortcodes', get_template_directory_uri() . '/functions/js/shortcodes.js', array( 'jquery', 'jquery-ui-tabs' ), true ); + + } // End IF Statement + +} // End woo_enqueue_shortcode_js() + +// Check if option to output shortcode JS is active +if (!function_exists( "woo_check_shortcode_js")) { + function woo_check_shortcode_js($shortcode) { + $js = get_option( "woo_sc_js" ); + if ( !$js ) + woo_add_shortcode_js($shortcode); + else { + if ( !in_array($shortcode, $js) ) { + $js[] = $shortcode; + update_option( "woo_sc_js", $js); + } + } + } +} + +// Add option to handle JS output +if (!function_exists( "woo_add_shortcode_js")) { + function woo_add_shortcode_js($shortcode) { + $update = array(); + $update[] = $shortcode; + update_option( "woo_sc_js", $update); + } +} + +// Output queued shortcode JS in footer +if (!function_exists( "woo_output_shortcode_js")) { + function woo_output_shortcode_js() { + $option = get_option( 'woo_sc_js' ); + if ( $option ) { + + // Toggle JS output + if ( in_array( 'toggle', $option) ) { + + $output = ' + +'; + echo $output; + } + + // Reset option + delete_option( 'woo_sc_js' ); + } + } +} +add_action( 'wp_footer', 'woo_output_shortcode_js' ); + +/*-----------------------------------------------------------------------------------*/ +/* 2. Boxes - box +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - type: info, alert, tick, download, note + - size: medium, large + - style: rounded + - border: none, full + - icon: none OR full URL to a custom icon + +*/ +function woo_shortcode_box($atts, $content = null) { + extract(shortcode_atts(array( 'type' => 'normal', + 'size' => '', + 'style' => '', + 'border' => '', + 'icon' => ''), $atts)); + + $custom = ''; + if ( $icon == "none" ) + $custom = ' style="padding-left:15px;background-image:none;"'; + elseif ( $icon ) + $custom = ' style="padding-left:50px;background-image:url( '.$icon.' ); background-repeat:no-repeat; background-position:20px 45%;"'; + + + return '

        ' . do_shortcode( woo_remove_wpautop($content) ) . '
        '; +} +add_shortcode( 'box', 'woo_shortcode_box' ); + +/*-----------------------------------------------------------------------------------*/ +/* 3. Buttons - button +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - size: small, large + - style: info, alert, tick, download, note + - color: red, green, black, grey OR custom hex color (e.g #000000) + - border: border color (e.g. red or #000000) + - text: black (for light color background on button) + - class: custom class + - link: button link (e.g http://www.woothemes.com) + - window: true/false + +*/ +function woo_shortcode_button($atts, $content = null) { + extract(shortcode_atts(array( 'size' => '', + 'style' => '', + 'bg_color' => '', + 'color' => '', + 'border' => '', + 'text' => '', + 'class' => '', + 'link' => '#', + 'window' => ''), $atts)); + + + // Set custom background and border color + $color_output = ''; + if ( $color ) { + + if ( $color == "red" OR + $color == "orange" OR + $color == "green" OR + $color == "aqua" OR + $color == "teal" OR + $color == "purple" OR + $color == "pink" OR + $color == "silver" + ) { + $class .= " ".$color; + + } else { + if ( $border ) + $border_out = $border; + else + $border_out = $color; + + $color_output = 'style="background:'.$color.';border-color:'.$border_out.'"'; + + // add custom class + $class .= " custom"; + } + + } else { + + if ( $border ) + $border_out = $border; + else + $border_out = $bg_color; + + $color_output = 'style="background:'.$bg_color.';border-color:'.$border_out.'"'; + + // add custom class + $class .= " custom"; + + } // End IF Statement + + $class_output = ''; + + // Set text color + if ( $text ) + $class_output .= ' dark'; + + // Set class + if ( $class ) + $class_output .= ' '.$class; + + // Set Size + if ( $size ) + $class_output .= ' '.$size; + + if ( $window ) + $window = 'target="_blank" '; + + + $output = '' . woo_remove_wpautop($content) . ''; + return $output; +} +add_shortcode( 'button', 'woo_shortcode_button' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 4. Related Posts - related_posts +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - limit: number of posts to show (default: 5) + - image: thumbnail size, 0 = off (default: 0) +*/ + +function woo_shortcode_related_posts( $atts ) { + + extract(shortcode_atts(array( + 'limit' => '5', + 'image' => '', + ), $atts)); + + global $wpdb, $post, $table_prefix; + + if ($post->ID) { + + $retval = ' + +'; + return $retval; + } + return; +} +add_shortcode( 'related_posts', 'woo_shortcode_related_posts' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 5. Tweetmeme button - tweetmeme +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://help.tweetmeme.com/2009/04/06/tweetmeme-button/ + +Optional arguments: + - link: specify URL directly + - style: compact + - source: username + - float: none, left, right (default: left) + +*/ +function woo_shortcode_tweetmeme($atts, $content = null) { + extract(shortcode_atts(array( 'link' => '', + 'style' => '', + 'source' => '', + 'float' => 'left'), $atts)); + $output = ''; + + if ( $link ) + $output .= "tweetmeme_url = '".$link."';"; + + if ( $style ) + $output .= "tweetmeme_style = 'compact';"; + + if ( $source ) + $output .= "tweetmeme_source = '".$source."';"; + + if ( $link OR $style ) + $output = ''; + + $output .= '
        '; + return $output; + +} +add_shortcode( 'tweetmeme', 'woo_shortcode_tweetmeme' ); + +/*-----------------------------------------------------------------------------------*/ +/* 6. Twitter button - twitter +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://twitter.com/goodies/tweetbutton + +Optional arguments: + - style: vertical, horizontal, none ( default: vertical ) + - url: specify URL directly + - source: username to mention in tweet + - related: related account + - text: optional tweet text (default: title of page) + - float: none, left, right (default: left) + - lang: fr, de, es, js (default: english) +*/ +function woo_shortcode_twitter($atts, $content = null) { + extract(shortcode_atts(array( 'url' => '', + 'style' => 'vertical', + 'source' => '', + 'text' => '', + 'related' => '', + 'lang' => '', + 'float' => 'left'), $atts)); + $output = ''; + + if ( $url ) + $output .= ' data-url="'.$url.'"'; + + if ( $source ) + $output .= ' data-via="'.$source.'"'; + + if ( $text ) + $output .= ' data-text="'.$text.'"'; + + if ( $related ) + $output .= ' data-related="'.$related.'"'; + + if ( $lang ) + $output .= ' data-lang="'.$lang.'"'; + + $output = ''; + return $output; + +} +add_shortcode( 'twitter', 'woo_shortcode_twitter' ); + +/*-----------------------------------------------------------------------------------*/ +/* 7. Digg Button - digg +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://about.digg.com/button + +Optional arguments: + - link: specify URL directly + - title: specify a title (must add link also) + - style: medium, large, compact, icon (default: medium) + - float: none, left, right (default: left) + +*/ +function woo_shortcode_digg($atts, $content = null) { + extract(shortcode_atts(array( 'link' => '', + 'title' => '', + 'style' => 'medium', + 'float' => 'left'), $atts)); + $output = " + + "; + + // Add custom URL + if ( $link ) { + // Add custom title + if ( $title ) + $title = '&title='.urlencode( $title ); + + $link = ' href="http://digg.com/submit?url='.urlencode( $link ).$title.'"'; + } + + if ( $style == "large" ) + $style = "Large"; + elseif ( $style == "compact" ) + $style = "Compact"; + elseif ( $style == "icon" ) + $style = "Icon"; + else + $style = "Medium"; + + $output .= '
        '; + return $output; + +} +add_shortcode( 'digg', 'woo_shortcode_digg' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 8. Facebook Like Button - fblike +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://developers.facebook.com/docs/reference/plugins/like + +Optional arguments: + - float: none (default), left, right + - url: link you want to share (default: current post ID) + - style: standard (default), button + - showfaces: true or false (default) + - width: 450 + - verb: like (default) or recommend + - colorscheme: light (default), dark + - font: arial (default), lucida grande, segoe ui, tahoma, trebuchet ms, verdana + +*/ +function woo_shortcode_fblike($atts, $content = null) { + extract(shortcode_atts(array( 'float' => 'none', + 'url' => '', + 'style' => 'standard', + 'showfaces' => 'false', + 'width' => '450', + 'verb' => 'like', + 'colorscheme' => 'light', + 'font' => 'arial'), $atts)); + + global $post; + + if ( ! $post ) { + + $post = new stdClass(); + $post->ID = 0; + + } // End IF Statement + + $allowed_styles = array( 'standard', 'button_count', 'box_count' ); + + if ( ! in_array( $style, $allowed_styles ) ) { $style = 'standard'; } // End IF Statement + + if ( !$url ) + $url = get_permalink($post->ID); + + $height = '60'; + if ( $showfaces == 'true') + $height = '100'; + + if ( ! $width || ! is_numeric( $width ) ) { $width = 450; } // End IF Statement + + switch ( $float ) { + + case 'left': + + $float = 'fl'; + + break; + + case 'right': + + $float = 'fr'; + + break; + + default: + break; + + } // End SWITCH Statement + + $output = ' +
        + +
        + '; + return $output; + +} +add_shortcode( 'fblike', 'woo_shortcode_fblike' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 9. Columns +/*-----------------------------------------------------------------------------------*/ +/* + +Description: + +Columns are named with this convention Xcol_Y where X is the total number of columns and Y is +the number of columns you want this column to span. Add _last behind the shortcode if it is the +last column. + +*/ + +/* ============= Two Columns ============= */ + +function woo_shortcode_twocol_one($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'twocol_one', 'woo_shortcode_twocol_one' ); + +function woo_shortcode_twocol_one_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'twocol_one_last', 'woo_shortcode_twocol_one_last' ); + + +/* ============= Three Columns ============= */ + +function woo_shortcode_threecol_one($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'threecol_one', 'woo_shortcode_threecol_one' ); + +function woo_shortcode_threecol_one_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'threecol_one_last', 'woo_shortcode_threecol_one_last' ); + +function woo_shortcode_threecol_two($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'threecol_two', 'woo_shortcode_threecol_two' ); + +function woo_shortcode_threecol_two_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'threecol_two_last', 'woo_shortcode_threecol_two_last' ); + +/* ============= Four Columns ============= */ + +function woo_shortcode_fourcol_one($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'fourcol_one', 'woo_shortcode_fourcol_one' ); + +function woo_shortcode_fourcol_one_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'fourcol_one_last', 'woo_shortcode_fourcol_one_last' ); + +function woo_shortcode_fourcol_two($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'fourcol_two', 'woo_shortcode_fourcol_two' ); + +function woo_shortcode_fourcol_two_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'fourcol_two_last', 'woo_shortcode_fourcol_two_last' ); + +function woo_shortcode_fourcol_three($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'fourcol_three', 'woo_shortcode_fourcol_three' ); + +function woo_shortcode_fourcol_three_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'fourcol_three_last', 'woo_shortcode_fourcol_three_last' ); + +/* ============= Five Columns ============= */ + +function woo_shortcode_fivecol_one($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'fivecol_one', 'woo_shortcode_fivecol_one' ); + +function woo_shortcode_fivecol_one_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'fivecol_one_last', 'woo_shortcode_fivecol_one_last' ); + +function woo_shortcode_fivecol_two($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'fivecol_two', 'woo_shortcode_fivecol_two' ); + +function woo_shortcode_fivecol_two_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'fivecol_two_last', 'woo_shortcode_fivecol_two_last' ); + +function woo_shortcode_fivecol_three($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'fivecol_three', 'woo_shortcode_fivecol_three' ); + +function woo_shortcode_fivecol_three_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'fivecol_three_last', 'woo_shortcode_fivecol_three_last' ); + +function woo_shortcode_fivecol_four($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'fivecol_four', 'woo_shortcode_fivecol_four' ); + +function woo_shortcode_fivecol_four_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'fivecol_four_last', 'woo_shortcode_fivecol_four_last' ); + + +/* ============= Six Columns ============= */ + +function woo_shortcode_sixcol_one($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'sixcol_one', 'woo_shortcode_sixcol_one' ); + +function woo_shortcode_sixcol_one_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'sixcol_one_last', 'woo_shortcode_sixcol_one_last' ); + +function woo_shortcode_sixcol_two($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'sixcol_two', 'woo_shortcode_sixcol_two' ); + +function woo_shortcode_sixcol_two_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'sixcol_two_last', 'woo_shortcode_sixcol_two_last' ); + +function woo_shortcode_sixcol_three($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'sixcol_three', 'woo_shortcode_sixcol_three' ); + +function woo_shortcode_sixcol_three_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'sixcol_three_last', 'woo_shortcode_sixcol_three_last' ); + +function woo_shortcode_sixcol_four($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'sixcol_four', 'woo_shortcode_sixcol_four' ); + +function woo_shortcode_sixcol_four_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'sixcol_four_last', 'woo_shortcode_sixcol_four_last' ); + +function woo_shortcode_sixcol_five($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'sixcol_five', 'woo_shortcode_sixcol_five' ); + +function woo_shortcode_sixcol_five_last($atts, $content = null) { + return '
        ' . woo_remove_wpautop($content) . '
        '; +} +add_shortcode( 'sixcol_five_last', 'woo_shortcode_sixcol_five_last' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 10. Horizontal Rule / Divider - hr - divider +/*-----------------------------------------------------------------------------------*/ +/* + +Description: Use to separate text. + +*/ +function woo_shortcode_hr($atts, $content = null) { + return '
        '; +} +add_shortcode( 'hr', 'woo_shortcode_hr' ); + +function woo_shortcode_divider($atts, $content = null) { + return '
        '; +} +add_shortcode( 'divider', 'woo_shortcode_divider' ); + +function woo_shortcode_divider_flat($atts, $content = null) { + return '
        '; +} +add_shortcode( 'divider_flat', 'woo_shortcode_divider_flat' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 11. Quote - quote +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - style: boxed + - float: left, right + +*/ +function woo_shortcode_quote($atts, $content = null) { + extract(shortcode_atts(array( 'style' => '', + 'float' => ''), $atts)); + $class = ''; + if ( $style ) + $class .= ' '.$style; + if ( $float ) + $class .= ' '.$float; + + return '

        ' . woo_remove_wpautop($content) . '

        '; +} +add_shortcode( 'quote', 'woo_shortcode_quote' ); + +/*-----------------------------------------------------------------------------------*/ +/* 12. Icon links - ilink +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - style: download, note, tick, info, alert + - url: the url for your link + - icon: add an url to a custom icon + +*/ +function woo_shortcode_ilink($atts, $content = null) { + extract(shortcode_atts(array( 'style' => 'info', 'url' => '', 'icon' => ''), $atts)); + + $custom_icon = ''; + if ( $icon ) + $custom_icon = 'style="background:url( '.$icon.') no-repeat left 40%;"'; + + return '' . woo_remove_wpautop($content) . ''; +} +add_shortcode( 'ilink', 'woo_shortcode_ilink' ); + +/*-----------------------------------------------------------------------------------*/ +/* 13. jQuery Toggle +/*-----------------------------------------------------------------------------------*/ +/* + +} + +Optional arguments: + - title: The text in the main trigger + - hide: Hide the toggle box on load + - display_main_trigger: Display the main trigger on the toggle + +*/ +function woo_shortcode_toggle ( $atts, $content = null ) { + + $defaults = array( + 'title_open' => __( 'Hide the Content', 'woothemes' ), + 'title_closed' => __( 'Show the Content', 'woothemes' ), + 'hide' => 'yes', + 'display_main_trigger' => 'yes', + 'style' => 'default', + 'border' => 'yes', + 'excerpt_length' => '0', + 'include_excerpt_html' => 'no', + 'read_more_text' => __( 'Read More', 'woothemes' ), + 'read_less_text' => __( 'Read Less', 'woothemes' ) + ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $title = ''; + $class = ''; + + $class_open = ' toggle-' . sanitize_title( $title_open ); + + $class_closed = ' toggle-' . sanitize_title( $title_closed ); + + if ( $hide == 'yes' ) { + $class .= $class_closed . ' closed'; $title = $title_closed; + } else { + $class .= $class_open . ' open'; $title = $title_open; + } // End IF Statement + + $main_trigger = ''; + + if ( $display_main_trigger == 'yes' ) { + + $main_trigger = '

        ' . $title . '

        ' . "\n"; + + } // End IF Statement + + // Add the alternate style to the CSS class. + $class .= ' ' . $style; + + // Add the border class, if necessary. + if ( $border == 'yes' ) { $class .= ' border'; } // End IF Statement + + // If the excerpt length is greater than 0, apply the excerpt logic. + $excerpt_length = intval( $excerpt_length ); + + if ( $excerpt_length > 0 ) { + $orig_content = $content; + + if ( $include_excerpt_html == 'no' ) { + $content = strip_tags( $content ); + } + + $excerpt = substr( $content, 0, $excerpt_length ); + + $more_link = '' . $read_more_text . ''; + + $content = '' . $excerpt . '' . "\n" . $more_link . "\n" . '' . substr( $content, $excerpt_length, strlen( $content ) ) . '' . "\n"; + } + + return '
        ' . $main_trigger . '
        ' . do_shortcode( $content ) . '
        ' . "\n" . '' . '
        '; + +} // End woo_shortcode_toggle() + +add_shortcode( 'toggle', 'woo_shortcode_toggle', 99 ); + +/*-----------------------------------------------------------------------------------*/ +/* 14. Facebook Share Button - fbshare +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://developers.facebook.com/docs/share + +Optional arguments: + - type: box_count, button_count, button (default), icon_link, or icon + - float: none, left, right (default: left) + +*/ +function woo_shortcode_fbshare($atts, $content = null) { + extract(shortcode_atts(array( 'url' => '', 'type' => 'button', 'float' => 'left' ), $atts)); + + global $post; + + if ( $url == '' ) { $url = get_permalink($post->ID); } // End IF Statement + + $output = ' + + '; + return $output; + +} +add_shortcode( 'fbshare', 'woo_shortcode_fbshare' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 15. Advanced Contact Form - contact_form +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - email: The e-mail address to which the form will send (defaults to woo_contactform_email). + - subject: The subject of the e-mail (defaults to "Message via the contact form". + - button_text: Optionally change the text of the "submit" button. + + - Advanced form fields functionality, for creating dynamic form fields: + --- Text Input: text_fieldname="Text Field Label|Optional Default Text" + --- Select Box: select_fieldname="Select Box Label|key=value,key=value,key=value" + --- Textarea Input: textarea_fieldname="Textarea Field Label|Optional Default Text|Optional Number of Rows|Optional Number of Columns" + --- Checkbox Input: checkbox_fieldname="Checkbox Field Label|Value of the Checkbox|Checked By Default" + --- Radio Button Input: radio_fieldname="Radio Field Label|key=value,key=value,key=value|Optional Default Value" + +*/ + +function woo_shortcode_contactform ( $atts, $content = null ) { + + $defaults = array( + 'email' => get_option( 'woo_contactform_email'), + 'subject' => __( 'Message via the contact form', 'woothemes' ), + 'button_text' => apply_filters( 'woo_contact_form_button_text', __( 'Submit', 'woothemes' ) ) + ); + + extract( shortcode_atts( $defaults, $atts ) ); + + // Extract the dynamic fields as well, if they don't have a value in $defaults. + + $html = ''; + $dynamic_atts = array(); + $formatted_dynamic_atts = array(); + $error_messages = array(); + + if ( is_array( $atts ) ) { + + foreach ( $atts as $k => $v ) { + + ${$k} = $v; + + $dynamic_atts[$k] = ${$k}; + + } // End FOREACH Loop + + } // End IF Statement + + // Parse dynamic fields. + + if ( count( $dynamic_atts ) ) { + + foreach ( $dynamic_atts as $k => $v ) { + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // The default value. + if ( array_key_exists( 2, $params ) ) { $default_value = $params[2]; } else { $default_value = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options, 'default_value' => $default_value ); + + } // End IF Statement + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // The default value. + if ( array_key_exists( 2, $params ) ) { $default_value = $params[2]; } else { $default_value = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options, 'default_value' => $default_value ); + + } // End IF Statement + + /* Parse the checkbox inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'checkbox_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The value of the checkbox. + if ( array_key_exists( 1, $params ) ) { $value = $params[1]; } else { $value = ''; } // End IF Statement + + // Checked by default? + if ( array_key_exists( 1, $params ) ) { $checked = $params[2]; } else { $checked = ''; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'value' => $value, 'checked' => $checked ); + + } // End IF Statement + + /* Parse the text inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 5 ) == 'text_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The default text. + if ( array_key_exists( 1, $params ) ) { $default_text = $params[1]; } else { $default_text = ''; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'default_text' => $default_text ); + + } // End IF Statement + + /* Parse the select boxes. + --------------------------------------------------*/ + + if ( substr( $k, 0, 7 ) == 'select_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options ); + + } // End IF Statement + + /* Parse the textarea inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'textarea_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The default text. + if ( array_key_exists( 1, $params ) ) { $default_text = $params[1]; } else { $default_text = ''; } // End IF Statement + + // The number of rows. + if ( array_key_exists( 2, $params ) ) { $number_of_rows = $params[2]; } else { $number_of_rows = 10; } // End IF Statement + + // The number of columns. + if ( array_key_exists( 3, $params ) ) { $number_of_columns = $params[3]; } else { $number_of_columns = 10; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'default_text' => $default_text, 'number_of_rows' => $number_of_rows, 'number_of_columns' => $number_of_columns ); + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + /*-------------------------------------------------- + * Form Processing. + * + * Here is where we validate the POST'ed data and + * format it for sending in an e-mail. + * + * We then send the e-mail and notify the user. + --------------------------------------------------*/ + + $emailSent = false; + + if ( ( count( $_POST ) > 3 ) && isset( $_POST['submitted'] ) ) { + + $fields_to_skip = array( 'checking', 'submitted', 'sendCopy' ); + $default_fields = array( 'contactName' => '', 'contactEmail' => '', 'contactMessage' => '' ); + $error_responses = array( + 'contactName' => __( 'Please enter your name', 'woothemes' ), + 'contactEmail' => __( 'Please enter your email address (and please make sure it\'s valid)', 'woothemes' ), + 'contactMessage' => __( 'Please enter your message', 'woothemes' ) + ); + + $posted_data = $_POST; + + // Check for errors. + foreach ( array_keys( $default_fields ) as $d ) { + + if ( !isset ( $_POST[$d] ) || $_POST[$d] == '' || ( $d == 'contactEmail' && ! is_email( $_POST[$d] ) ) ) { + + $error_messages[$d] = $error_responses[$d]; + + } // End IF Statement + + } // End FOREACH Loop + + // If we have errors, don't do anything. Otherwise, run the processing code. + + if ( count( $error_messages ) ) {} else { + + // Setup e-mail variables. + $message_fromname = $default_fields['contactName']; + $message_fromemail = strtolower( $default_fields['contactEmail'] ); + $message_subject = $subject; + $message_body = $default_fields['contactMessage'] . "\n\r\n\r"; + + // Filter out skipped fields and assign default fields. + foreach ( $posted_data as $k => $v ) { + + if ( in_array( $k, $fields_to_skip ) ) { + + unset( $posted_data[$k] ); + + } // End IF Statement + + if ( in_array( $k, array_keys( $default_fields ) ) ) { + + $default_fields[$k] = $v; + + unset( $posted_data[$k] ); + + } // End IF Statement + + } // End FOREACH Loop + + // Okay, so now we're left with only the dynamic fields. Assign to a fresh variable. + $dynamic_fields = $posted_data; + + // Format the default fields into the $message_body. + + foreach ( $default_fields as $k => $v ) { + + if ( $v == '' ) {} else { + + $message_body .= str_replace( 'contact', '', $k ) . ': ' . $v . "\n\r"; + + } // End IF Statement + + } // End FOREACH Loop + + // Format the dynamic fields into the $message_body. + + foreach ( $dynamic_fields as $k => $v ) { + + if ( $v == '' ) {} else { + + $value = ''; + + if ( substr( $k, 0, 7 ) == 'select_' || substr( $k, 0, 6 ) == 'radio_' ) { + + $message_body .= $formatted_dynamic_atts[$k]['label'] . ': ' . $formatted_dynamic_atts[$k]['options'][$v] . "\n\r"; + + } else { + + $message_body .= $formatted_dynamic_atts[$k]['label'] . ': ' . $v . "\n\r"; + + } // End IF Statement + + } // End IF Statement + + } // End FOREACH Loop + + // Send the e-mail. + $headers = __( 'From: ', 'woothemes') . $default_fields['contactName'] . ' <' . $default_fields['contactEmail'] . '>' . "\r\n" . __( 'Reply-To: ', 'woothemes' ) . $default_fields['contactEmail']; + + $emailSent = wp_mail($email, $subject, $message_body, $headers); + + // Send a copy of the e-mail to the sender, if specified. + + if ( isset( $_POST['sendCopy'] ) && $_POST['sendCopy'] == 'true' ) { + + $headers = __( 'From: ', 'woothemes') . $default_fields['contactName'] . ' <' . $default_fields['contactEmail'] . '>' . "\r\n" . __( 'Reply-To: ', 'woothemes' ) . $default_fields['contactEmail']; + + $emailSent = wp_mail($default_fields['contactEmail'], $subject, $message_body, $headers); + + } // End IF Statement + + } // End IF Statement ( count( $error_messages ) ) + + } // End IF Statement + + /* Generate the form HTML. + --------------------------------------------------*/ + + $html .= '
        ' . "\n"; + + /* Display message HTML if necessary. + --------------------------------------------------*/ + + // Success message. + + if( isset( $emailSent ) && $emailSent == true ) { + + $html .= do_shortcode( '[box type="tick"]' . __( 'Your email was successfully sent.', 'woothemes' ) . '[/box]' ); + $html .= '' . "\n"; + + } // End IF Statement + + // Error messages. + + if( count( $error_messages ) ) { + + $html .= do_shortcode( '[box type="alert"]' . __( 'There were one or more errors while submitting the form.', 'woothemes' ) . '[/box]' ); + + } // End IF Statement + + // No e-mail address supplied. + + if( $email == '' ) { + + $html .= do_shortcode( '[box type="alert"]' . __( 'E-mail has not been setup properly. Please add your contact e-mail!', 'woothemes' ) . '[/box]' ); + + } // End IF Statement + + if ( $email == '' ) {} else { + + $html .= '
        ' . "\n"; + + $html .= '
        ' . "\n"; + + /* Parse the "static" form fields. + --------------------------------------------------*/ + + $contactName = ''; + if( isset( $_POST['contactName'] ) ) { $contactName = $_POST['contactName']; } // End IF Statement + + $contactEmail = ''; + if( isset( $_POST['contactEmail'] ) ) { $contactEmail = $_POST['contactEmail']; } // End IF Statement + + $contactMessage = ''; + if( isset( $_POST['contactMessage'] ) ) { $contactMessage = stripslashes( $_POST['contactMessage'] ); } // End IF Statement + + $html .= '

        ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactName', $error_messages ) ) { + + $html .= '' . $error_messages['contactName'] . '' . "\n"; + + } // End IF Statement + + $html .= '

        ' . "\n"; + + $html .= '

        ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactEmail', $error_messages ) ) { + + $html .= '' . $error_messages['contactEmail'] . '' . "\n"; + + } // End IF Statement + + $html .= '

        ' . "\n"; + + $html .= '

        ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactMessage', $error_messages ) ) { + + $html .= '' . $error_messages['contactMessage'] . '' . "\n"; + + } // End IF Statement + + $html .= '

        ' . "\n"; + + /* Parse dynamic fields into HTML. + --------------------------------------------------*/ + + if ( count( $formatted_dynamic_atts ) ) { + + foreach ( $formatted_dynamic_atts as $k => $v ) { + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + + /* Generate Select Box Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_value']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

        ' . "\n"; + + $html .= '' . "\n"; + + foreach ( $v['options'] as $value => $label ) { + + $html .= ' ' . $label . '
        ' . "\n"; + + } // End FOREACH Loop + + $html .= '
        ' . "\n"; + + } // End IF Statement + + /* Parse the checkbox inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'checkbox_' ) { + + /* Generate Checkbox Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['value']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $checked = 0; + if ( array_key_exists( 'checked', $v ) && $v['checked'] == 'yes' ) { $checked = ${$k}; } + + $html .= '

        ' . "\n"; + $html .= '' . "\n"; + $html .= '

        ' . "\n"; + + } // End IF Statement + + /* Parse the text inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 5 ) == 'text_' ) { + + /* Generate Text Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_text']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

        ' . "\n"; + $html .= '

        ' . "\n"; + + } // End IF Statement + + /* Parse the select boxes. + --------------------------------------------------*/ + + if ( substr( $k, 0, 7 ) == 'select_' ) { + + /* Generate Select Box Field HTML. + ----------------------------------------------*/ + + ${$k} = ''; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

        ' . "\n"; + $html .= '

        ' . "\n"; + + } // End IF Statement + + /* Parse the textarea inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'textarea_' ) { + + /* Generate Textarea Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_text']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

        ' . "\n"; + $html .= '

        ' . "\n"; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + /* The end of the form. + ----------------------------------------------*/ + + $sendCopy = ''; + if(isset($_POST['sendCopy']) && $_POST['sendCopy'] == true) { + + $sendCopy = ' checked="checked"'; + + } // End IF Statement + + $html .= '

        ' . "\n"; + + $checking = ''; + if(isset($_POST['checking'])) { + + $checking = $_POST['checking']; + + } // End IF Statement + + $html .= '

        ' . "\n"; + + $html .= '

        '; + + $html .= '
        ' . "\n"; + + $html .= '
        ' . "\n"; + + $html .= '
        ' . "\n"; + + $html .= '
        ' . "\n"; + + } // End IF Statement ( $email == '' ) + + return $html; + +} // End woo_shortcode_contactform() + +add_shortcode( 'contact_form', 'woo_shortcode_contactform' ); + +/*-----------------------------------------------------------------------------------*/ +/* 16. Tabs - [tabs][/tabs] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_tabs ( $atts, $content = null ) { + + $defaults = array( 'style' => 'default', 'title' => '', 'css' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + if ( $css != '' ) { $css = ' ' . $css; } + + // Extract the tab titles for use in the tabber widget. + preg_match_all( '/tab title="([^\"]+)"/i', $content, $matches, PREG_OFFSET_CAPTURE ); + + $tab_titles = array(); + $tabs_class = 'tab_titles'; + + if ( isset( $matches[1] ) ) { $tab_titles = $matches[1]; } // End IF Statement + + $titles_html = ''; + + if ( count( $tab_titles ) ) { + + if ( $title ) { $titles_html .= '

        ' . esc_html( $title ) . '

        '; $tabs_class .= ' has_title'; } // End IF Statement + + $titles_html .= '
          ' . "\n"; + + $counter = 1; + + foreach ( $tab_titles as $t ) { + + $titles_html .= '' . "\n"; + + $counter++; + + } // End FOREACH Loop + + $titles_html .= '
        ' . "\n"; + + } // End IF Statement + + return '
        ' . $titles_html . do_shortcode( $content ) . "\n" . '
        ' . "\n" . '
        '; + +} // End woo_shortcode_tabs() + +add_shortcode( 'tabs', 'woo_shortcode_tabs', 90 ); + +/*-----------------------------------------------------------------------------------*/ +/* 16.1 A Single Tab - [tab title="The title goes here"][/tab] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_tab_single ( $atts, $content = null ) { + + $defaults = array( 'title' => 'Tab' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $class = ''; + + if ( $title != 'Tab' ) { + + $class = ' tab-' . sanitize_title( $title ); + + } // End IF Statement + + return '
        ' . do_shortcode( $content ) . '
        '; + +} // End woo_shortcode_tab_single() + +add_shortcode( 'tab', 'woo_shortcode_tab_single', 99 ); + +/*-----------------------------------------------------------------------------------*/ +/* 17. Dropcap - [dropcap][/dropcap] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_dropcap ( $atts, $content = null ) { + + $defaults = array(); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; + +} // End woo_shortcode_dropcap() + +add_shortcode( 'dropcap', 'woo_shortcode_dropcap' ); + +/*-----------------------------------------------------------------------------------*/ +/* 18. Highlight - [highlight][/highlight] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_highlight ( $atts, $content = null ) { + + $defaults = array(); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; + +} // End woo_shortcode_highlight() + +add_shortcode( 'highlight', 'woo_shortcode_highlight' ); + +/*-----------------------------------------------------------------------------------*/ +/* 19. Abbreviation - [abbr][/abbr] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_abbreviation ( $atts, $content = null ) { + + $defaults = array( 'title' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; + +} // End woo_shortcode_abbreviation() + +add_shortcode( 'abbr', 'woo_shortcode_abbreviation' ); + +/*-----------------------------------------------------------------------------------*/ +/* 20. Typography - [typography font="" size="" color=""][/typography] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_typography ( $atts, $content = null ) { + + global $google_fonts; + + // Get just the names of the Google fonts. + $google_font_names = array(); + + if ( count( $google_fonts ) ) { + + foreach ( $google_fonts as $g ) { + + $google_font_names[] = $g['name']; + + } // End FOREACH Loop + + } // End IF Statement + + // Build array of usable typefaces. + $fonts_whitelist = array( + 'Arial, Helvetica, sans-serif', + 'Verdana, Geneva, sans-serif', + '|Trebuchet MS|, Tahoma, sans-serif', + 'Georgia, |Times New Roman|, serif', + 'Tahoma, Geneva, Verdana, sans-serif', + 'Palatino, |Palatino Linotype|, serif', + '|Helvetica Neue|, Helvetica, sans-serif', + 'Calibri, Candara, Segoe, Optima, sans-serif', + '|Myriad Pro|, Myriad, sans-serif', + '|Lucida Grande|, |Lucida Sans Unicode|, |Lucida Sans|, sans-serif', + '|Arial Black|, sans-serif', + '|Gill Sans|, |Gill Sans MT|, Calibri, sans-serif', + 'Geneva, Tahoma, Verdana, sans-serif', + 'Impact, Charcoal, sans-serif' + ); + + $fonts_whitelist = array(); // Temporarily remove the default fonts. + + $defaults = array( 'font' => 'Arial, Helvetica, sans-serif', 'size' => '12', 'color' => '#000000', 'size_format' => 'px' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + // Run checks to make sure it's an allowed font stack. + if ( in_array( $font, $fonts_whitelist ) || in_array( $font, $google_font_names ) ) { + + if ( in_array( $font, $google_font_names ) ) { + + $font = "'" . $font . "'"; + + } // End IF Statement + + } else { + + $font = 'Arial, Helvetica, sans-serif'; + + } // End IF Statement + + // $font = str_replace( '|', '"', $font ); + + return '' . do_shortcode( $content ) . ''; + +} // End woo_shortcode_typography() + +add_shortcode( 'typography', 'woo_shortcode_typography' ); + +add_action( 'wp_head', 'woo_shortcode_typography_loadgooglefonts', 0 ); + +function woo_shortcode_typography_loadgooglefonts ( $font = '' ) { + + // If a specific font is requested, just enqueue that font. + $variations = array( + 'Raleway' => ':100', + 'Coda' => ':800', + 'UnifrakturCook' => ':bold', + 'Allan' => ':bold', + 'Sniglet' => ':800', + 'Cabin' => ':bold', + 'Corben' => ':bold', + 'Buda' => ':light' + ); + + if ( $font ) { + + $f = $font; + + $f = str_replace( ' ', '+', $f ); + + $f_include = $f; + + if ( in_array( $f, array_keys( $variations ) ) ) { + + $f_include = $f . $variations[$f]; + + } // End IF Statement + + echo "" . "\n"; + + } else { + + global $google_fonts, $post; + + // Add variations for specific fonts that need variation on inclusion. + + // Get just the names of the Google fonts. + $google_font_names = array(); + + if ( count( $google_fonts ) ) { + + foreach ( $google_fonts as $g ) { + + $google_font_names[] = $g['name']; + + } // End FOREACH Loop + + } // End IF Statement + + $_pattern = '/\[typography font="(.*?)" size="(.*?)" size_format="(.*?)"(.*?)\](.*?)\[\/typography\]/i'; // 1. font, 2, size, 3, color. + $_string = ''; + if ( $post ) { $_string = $post->post_content; } // End IF Statement + + preg_match_all($_pattern, $_string, $_matches ); + + $used_google_fonts = array(); + + foreach ( $_matches[1] as $f ) { + + if ( in_array( $f, $google_font_names ) && ! in_array( $f, $used_google_fonts ) ) { + + $used_google_fonts[] = $f; + + } // End IF Statement + + } // End FOREACH Loop + + if ( count( $used_google_fonts ) ) { + + foreach ( $used_google_fonts as $f ) { + + $f = str_replace( ' ', '+', $f ); + + $f_include = $f; + + if ( in_array( $f, array_keys( $variations ) ) ) { + + $f_include = $f . $variations[$f]; + + } // End IF Statement + + wp_enqueue_style( 'woo-googlefont-' . sanitize_title( $f ), 'http://fonts.googleapis.com/css?family=' . $f_include . '', array(), '3.6', 'screen' ); + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + +} // End woo_shortcode_typography_loadgooglefonts() + +/*-----------------------------------------------------------------------------------*/ +/* 21. List Styles - Unordered List - [unordered_list style=""][/unordered_list] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_unorderedlist ( $atts, $content = null ) { + + $defaults = array( 'style' => 'default' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '
        ' . do_shortcode( $content ) . '
        ' . "\n"; + +} // End woo_shortcode_unorderedlist() + +add_shortcode( 'unordered_list', 'woo_shortcode_unorderedlist' ); + +/*-----------------------------------------------------------------------------------*/ +/* 22. List Styles - Ordered List - [ordered_list style=""][/ordered_list] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_orderedlist ( $atts, $content = null ) { + + $defaults = array( 'style' => 'default' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '
        ' . do_shortcode( $content ) . '
        ' . "\n"; + +} // End woo_shortcode_orderedlist() + +add_shortcode( 'ordered_list', 'woo_shortcode_orderedlist' ); + +/*-----------------------------------------------------------------------------------*/ +/* 23. Social Icon - [social_icon url="" float="" icon_url="" title="" profile_type="" window=""] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_socialicon ( $atts, $content = null ) { + + $defaults = array( 'url' => '', 'float' => 'none', 'icon_url' => '', 'title' => '', 'profile_type' => '', 'window' => 'no', 'rel' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + if ( ! $url ) { return; } // End IF Statement - Don't run the shortcode if no URL has been supplied. + + // Attempt to determine the location of the social profile. + // If no location is found, a default icon will be used. + + $_default_icon = ''; + + $_supported_profiles = array( + 'facebook' => 'facebook.com', + 'twitter' => 'twitter.com', + 'youtube' => 'youtube.com', + 'delicious' => 'delicious.com', + 'flickr' => 'flickr.com', + 'linkedin' => 'linkedin.com' + ); + + $_profile_to_display = ''; + $_alt_text = ''; + $_classes = 'social-icon'; + + $_profile_match = false; + + // If they've specified an icon, skip the automation. + + if ( $profile_type != '' ) { + + $_profile_match = true; + $_profile_to_display = $profile_type; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $_profile_to_display ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + $_profile_class = ' social-icon-' . $_profile_to_display; + + if ( $icon_url ) { + + $_img_url = $icon_url; + + } else { + + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + + } // End IF Statement + + } // End IF Statement + + // Create a special scenario for use with the RSS feed for this website. + + if ( $url == 'feed' ) { + + $_profile_match = true; + $_profile_to_display = 'rss'; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = __( 'Subscribe to our RSS feed', 'woothemes' ); } // End IF Statement + $_classes .= ' social-icon-subscribe'; + $url = get_bloginfo( 'rss2_url' ); + + if ( $icon_url ) { + + $_img_url = $icon_url; + + } else { + + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + + } // End IF Statement + + } else { + + foreach ( $_supported_profiles as $k => $v ) { + + if ( $_profile_match == true ) { break; } // End IF Statement - Break out of the loop if we already have a match. + + // Get host name from URL + + preg_match( '@^(?:http://)?([^/]+)@i', $url, $matches ); + $host = $matches[1]; + + if ( $host == $v ) { + + $_profile_match = true; + $_profile_to_display = $k; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $_profile_to_display ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + $_profile_class = ' social-icon-' . $_profile_to_display; + + if ( $icon_url ) { + + $_img_url = $icon_url; + + } else { + + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + + } // End IF Statement + + } else { + + $_profile_to_display = 'default'; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $matches[1] ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + + $_host_bits = explode( '.', $matches[1] ); + $_profile_class = ' social-icon-' . $_host_bits[0]; + + if ( $icon_url ) { + + $_img_url = $icon_url; + + } else { + + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + + // Check if an image has been added for this social icon. + + if ( file_exists( trailingslashit( get_stylesheet_directory() ) . 'images/ico-social-' . $_host_bits[0] . '.png' ) ) { + + $_img_url = trailingslashit( get_stylesheet_directory_uri() ) . 'images/ico-social-' . $_host_bits[0] . '.png'; + + } // End IF Statement + + } // End IF Statement + + } // End IF Statement + + } // End FOREACH Loop + + $_classes .= $_profile_class; + + // Determine the floating CSS class to be used. + + switch ( $float ) { + + case 'left': + + $_classes .= ' fl'; + + break; + + case 'right': + + $_classes .= ' fr'; + + break; + + default: + + break; + + } // End SWITCH Statement + + } // End IF Statement + + $target = ''; + if ( $window == 'yes' ) { $target = ' target="_blank"'; } // End IF Statement + + if ( $rel != '' ) { $rel = ' rel="' . $rel . '"'; } + + return '' . $_alt_text . '' . "\n"; + +} // End woo_shortcode_socialicon() + +add_shortcode( 'social_icon', 'woo_shortcode_socialicon' ); + +/*-----------------------------------------------------------------------------------*/ +/* 24. LinkedIn Button - [linkedin_share url="" style=""] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_linkedin_share ( $atts, $content = null ) { + + $defaults = array( 'url' => '', 'style' => 'none', 'float' => 'none' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $allowed_floats = array( 'left' => 'fl', 'right' => 'fr', 'none' => '' ); + $allowed_styles = array( 'top' => ' data-counter="top"', 'right' => ' data-counter="right"', 'none' => '' ); + + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + if ( ! in_array( $style, array_keys( $allowed_styles ) ) ) { $style = 'none'; } + + if ( $url ) { $url = ' data-url="' . esc_url( $url ) . '"'; } + + $output = ''; + + if ( $float == 'none' ) {} else { $output .= '
        ' . "\n"; } + + $output .= '' . "\n"; + + if ( $float == 'none' ) {} else { $output .= '
        ' . "\n"; } + + // Enqueue the LinkedIn button JavaScript from their API. + add_action( 'wp_footer', 'woo_shortcode_linkedin_js' ); + add_action( 'woo_shortcode_generator_preview_footer', 'woo_shortcode_linkedin_js' ); + + return $output . "\n"; + +} // End woo_shortcode_linkedin_share() + +add_shortcode( 'linkedin_share', 'woo_shortcode_linkedin_share' ); + +/*-----------------------------------------------------------------------------------*/ +/* 24.1 Load Javascript for LinkedIn Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_linkedin_js () { + echo '' . "\n"; +} // End woo_shortcode_linkedin_js() + +/*-----------------------------------------------------------------------------------*/ +/* 25. Google +1 Button - [google_plusone] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_google_plusone ( $atts, $content = null ) { + + global $post; + + $defaults = array( + 'size' => '', + 'language' => '', + 'count' => '', + 'href' => '', + 'callback' => '', + 'float' => 'none' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + $output = ''; + $tag_atts = ''; + + // Make sure we only have Google +1 attributes in our array, after parsing the "float" parameter. + unset( $atts['float'] ); + + if ( $atts['href'] == '' & isset( $post->ID ) ) { + $atts['href'] = get_permalink( $post->ID ); + } + + foreach ( $atts as $k => $v ) { + if ( ${$k} != '' ) { + $tag_atts .= ' ' . $k . '="' . ${$k} . '"'; + } + } + + $output = '
        ' . "\n"; + + // Enqueue the Google +1 button JavaScript from their API. + add_action( 'wp_footer', 'woo_shortcode_google_plusone_js' ); + add_action( 'woo_shortcode_generator_preview_footer', 'woo_shortcode_google_plusone_js' ); + + return $output . "\n"; + +} // End woo_shortcode_google_plusone() + +add_shortcode( 'google_plusone', 'woo_shortcode_google_plusone' ); + +/*-----------------------------------------------------------------------------------*/ +/* 25.1 Load Javascript for Google +1 Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_google_plusone_js () { + echo '' . "\n"; + echo '' . "\n"; +} // End woo_shortcode_google_plusone_js() + +/*-----------------------------------------------------------------------------------*/ +/* THE END */ +/*-----------------------------------------------------------------------------------*/ +?> \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/admin-style.css b/src/wp-content/themes/originalhouse/functions/admin-style.css new file mode 100644 index 0000000..072f5f2 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/admin-style.css @@ -0,0 +1,703 @@ +/*-------------------------------------------------------------------------------------------*/ +/* WooThemes admin styles */ +/*-------------------------------------------------------------------------------------------*/ + +.updated, .error {display:none!important} /* disable the admin notices */ + +#woo_container { margin: 15px; width: 827px; position:relative; z-index: 0 } + +#woo_container #header { height: 80px; background: url(images/headertile.jpg) repeat-x left top; border: 1px solid #a4bbcd; border-top-left-radius: 15px; -moz-border-radius-topleft: 15px; -webkit-border-top-left-radius: 15px; -webkit-border-top-right-radius: 15px; border-top-right-radius: 15px; -moz-border-radius-topright: 15px; +/*INSET SHADOW*/ +-webkit-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +-moz-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +} + +#woo_container #header .logo { float: left; margin: 24px 0 0 25px; height: 35px; } +#woo_container #header .theme-info { float: right; margin: 26px 25px 0 0; } +#woo_container #header .theme-info span { display: block; line-height: 15px; text-transform: uppercase; text-align: right; color: #4e4e4e; text-shadow: 1px 1px 0 #fff; } +#woo_container #header .theme-info .theme { font-size: 15px; font-weight: bold; } +#woo_container #header .theme-info .framework { font-size: 12px; } +#woo_container #header .theme-info b { font-size: 11px; text-transform: none; color: #444; font-weight: 100; } + +#woo_container #support-links { height: 32px; padding: 0 0 0 15px; background-color: #d7e6f2; border-top: 1px solid #f1f6fa; border-bottom: 1px solid #a4bbcd; border-left: 1px solid #d8d8d8; border-right: 1px solid #d8d8d8; } +#woo_container #support-links ul li { display: inline; margin: 0 6px 0 0; } +#woo_container #support-links ul li a:link, #support-links ul li a:visited { line-height: 32px; font-size: 10px; font-weight: bold; text-transform: uppercase; text-decoration: none; color: #21759b; text-shadow: 1px 1px 0 #fff; } +#woo_container #support-links ul li a:hover { color: #155876; } +#woo_container #support-links ul li.changelog { padding: 2px 0 2px 20px; background: url(images/ico-changelog.png) no-repeat left center; } +#woo_container #support-links ul li.docs { padding: 1px 0 1px 20px; background: url(images/ico-docs.png) no-repeat left top; } +#woo_container #support-links ul li.forum { padding: 1px 0 1px 20px; background: url(images/ico-forum.png) no-repeat left top; } +#woo_container #support-links ul li.right { float:right; margin-right:15px} + +#woo_container #main { background-color: #f1f1f1; border-left: 1px solid #d8d8d8; border-right: 1px solid #d8d8d8; border-bottom: 1px solid #d8d8d8; } + +#woo_container #woo-nav { float: left; position: relative; z-index: 9999; width: 190px; } +#woo_container #woo-nav li { margin-bottom:0} +#woo_container #woo-nav ul li a:link, #woo-nav ul li a:visited { display: block; padding: 10px 10px 10px 15px; font:bold 12px/18px sans-serif; text-decoration: none; color: #797979; border-bottom: 1px solid #d8d8d8; border-top:1px solid #fff; text-shadow: 0 1px 0 #fff; } +#woo_container #woo-nav ul li.current a, #woo-nav ul li a:hover { color: #21759b; background-color: #fff; } + +#woo_container #content { float: left; min-height: 650px; width: 595px; margin-left: -1px; padding: 0 20px; font-family: "Lucida Grande", Verdana, sans-serif; background-color: #fff; border-left: 1px solid #d8d8d8; } + +#woo_container #content .section { margin-bottom: 10px;} +#woo_container #content .section h3.heading { font-size:1.1em; margin: 10px 0 10px 0; padding: 7px 0px; /* background: #f1f1f1 url(images/headingtop.jpg) repeat-x left top; */ border-bottom: 1px solid #e7e7e7; } +#woo_container #content .section .controls { float: left; width: 345px; margin: 0 15px 0 0; } +#woo_container #content .section .explain { float: left; width: 225px; padding: 0 10px 0 0; font-size: 11px; color: #999999; font-family: sans-serif; } + +#woo_container #content .section-checkbox .controls { width:25px} +#woo_container #content .section-checkbox .explain { width:540px} + +#woo_container #content .section-color .controls { width:125px} +#woo_container #content .section-color .explain { width:440px} + +#woo_container #content .section-info h3.heading { + font-size: 12px; font-weight: 100; border: 0; margin-top: 20px; letter-spacing: 1px; border-top: 1px solid #FFF298; margin-bottom: 0; background:#EFE186; padding: 10px 20px; } +#woo_container #content .section-info .controls { margin: 0 0 20px; padding: 15px 20px; width: auto; line-height: 1.5em; font-size: 14px; font-style: italic; font-family: Georgia,arial; background: #FFF298; border:1px solid #ECD852; color:#424242;} +#woo_container #content .section-info .controls small { font-size: 12px} + +#woo_container #content .section-info h3.heading { + -moz-border-radius-topleft:4px; + -moz-border-radius-topright:4px; +} +#woo_container #content .section-info .controls{ + -moz-border-radius-bottomleft:4px; + -moz-border-radius-bottomright:4px; +} + +#woo_container textarea, #woo_container input, #woo_container select { + -moz-border-radius:4px; + -webkit-border-radius:4px; + -border-radius:4px; + border-style:solid; + border-width:1px; +} + +#woo_container .controls input,#woo_container .controls select,#woo_container .controls textarea { + margin-bottom: 9px !important; + background-color: #fafafa; + border: 1px solid; + border-color: #CCCCCC #EEEEEE #EEEEEE #CCCCCC; + width: 340px; + padding: 5px; + font-family: "Lucida Grande", Verdana, sans-serif; + font-size: 12px; + color:#555; +} +#woo_container .controls input:hover,#woo_container .controls select:hover,#woo_container .controls textarea:hover { color:#333; background: #fff;} + +#woo_container .controls input.upload { width:280px; padding-bottom:6px; } +#woo_container .controls input.upload_button{ float:right; width:45px; border-color:#BBBBBB; cursor:pointer; height:16px; } +#woo_container .controls input.upload_button:hover { border-color:#666666; color:#000; } + +#woo_container .screenshot { + float:left; + margin-left:1px; + position:relative; + width:344px; + margin-top:3px; + z-index: 1; +} + +#woo_container .screenshot img { + -moz-border-radius:4px; + -webkit-border-radius:4px; + -border-radius:4px; + background:#FAFAFA; + border-color:#CCCCCC #EEEEEE #EEEEEE #CCCCCC; + border-style:solid; + border-width:1px; + float:left; + max-width:334px; + padding:4px; +} + +#woo_container .screenshot .mlu_remove { + + background:url( "images/ico-delete.png") no-repeat; + border:medium none; + bottom:-4px; + display:block; + float:left; + height:16px; + padding:0; + position:absolute; + left:-4px; + text-indent:-9999px; + width:16px; +} + +#woo_container .screenshot .no_image .file_link { + margin-left: 20px; +} + +#woo_container .screenshot .no_image .mlu_remove { + bottom: 0px; +} + + +/* SELECT DROPDOWN */ +#woo_container #content select.woo-input { + cursor:pointer; + height:28px; + margin:0; + opacity:0; + padding:0; + position:relative; + width:inherit; + z-index:4; +} + +#woo_container #content .select_wrapper { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + font-family: "Lucida Grande","Lucida Sans Unicode",Arial,Verdana,sans-serif; + font-size: 12px; + background: #fafafa url(images/select.png) no-repeat right center; + border-color: #ccc #eee #eee #ccc; + border-style: solid; + border-width: 1px; + float: left; + height: 26px; + width: 344px; + margin: 0; + margin-bottom: 9px !important; + width: 344px; + display: block; + color: #555; +} +#woo_container #content .option-type .select_wrapper { + background-color: #fff; +} +#woo_container #content .select_wrapper:hover { + background-color: #fff; + border-color: #bbb #eee #eee #bbb; + color: #333; +} +#woo_container #content .select_wrapper span { + height: 26px; + line-height: 26px; + position: absolute; + z-index: 2; + padding-left: 6px; +} + + +#woo_container .colorSelector { margin-top:1px; } +#woo_container .colorSelector:hover { cursor:pointer; } +#woo_container .controls select { padding: 4px; width: 340px } +#woo_container .controls select:hover { cursor: pointer;} +#woo_container .controls textarea {width: 345px; } + +#woo_container input[type=text], #woo_container select { height:28px; } +#woo_container input[type=text] { width: 340px; } + +#woo_container input.woo-input-calendar { width: 320px; } + +#woo_container input.checkbox { width: 30px; } +#woo_container input.woo-radio { width: 30px; } + +#woo_container .controls .input-text-small { width: 60px; margin-right:10px} +#woo_container .meta-two { margin-right:10px} + +#woo_container .controls .woo-color {float:left; width: 80px; margin-left:5px; /* font-size:20px; height:34px;*/} + +#woo_container #content .section-typography .controls { width:425px } +#woo_container #content .section-typography .explain { width:140px } + +#woo_container .controls .woo-typography-size { width:50px; float:left} +#woo_container .controls .woo-typography-unit { width:50px; float:left} +#woo_container .controls .woo-typography-face { width:120px; float:left} +#woo_container .controls .woo-typography-style { width:80px; float:left} + +#woo_container .controls .woo-radio-img-img { border:3px solid #dedede; margin:0 5px 10px 0; display:none; cursor:pointer; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } +#woo_container .controls .woo-radio-img-selected { border:3px solid #aaa; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px;} + +#woo_container .controls .woo-border-width { width:80px; float:left} +#woo_container .controls .woo-border-style { width:120px; float:left} + + +#woo_container .group { padding-bottom:20px} +#woo_container .group h2 { display:none; border-bottom:3px solid #e7e7e7} + +#woo_container input:focus,#woo_container select:focus, #woo_container textarea:focus { background:#fff;} + +#woo_container .happy { + background: #DBF6BE no-repeat 10px center; + border: solid #9BBF65; + border-width: 0px 1px 1px 1px; + color: #060; + font-weight: bold; + padding: 10px; + text-align: center; +} + +#woo_container .warning { + background: #ffeeee no-repeat 10px center;; + border: solid #dfbfbf; + border-width: 0px 1px 1px 1px; + color: #333; + font-weight: bold; + padding: 10px; + text-align: center; +} +#woo_container .update_available { + + background: #FFFEEB no-repeat 10px center;; + border: solid #CCCCCC; + border-width: 0px 1px 1px 1px; + color: #333; + font-weight: bold; + padding: 10px; + text-align: center; + + + +} + +/* +#woo_container .woo-uploaded-image { border:2px solid #dedede; -moz-border-radius: 3px; display:block;} +#woo_container .woo-uploaded-image img {margin:5px;display:block} +*/ + +#woo_container .woo-save-popup { position:absolute; -moz-border-radius:12px; background:rgba(0,0,0,0.4); color:#fff; font-size:24px; text-align:center; display:none; z-index: 10; } + +#woo_container .woo-save-save { background:url(images/happy.png) 20px 50% no-repeat; padding:30px 30px 30px 70px} +#woo_container .woo-save-reset { background:url(images/warning.png) 20px 50% no-repeat; padding:30px 30px 30px 70px} + +.upload_button_div { margin-bottom: 10px;} +.upload_button_div .button { padding:4px 14px; +} +.upload_button_div .image_reset_button { margin-left:10px} + +.upload-error { float:left;color:#666; font-size:10px; font-weight:bold; text-decoration:none; text-shadow:1px 1px 0 #FFFFFF; + margin: 0 10px 0 0; padding:3px 10px; background:#FFDFEC; -moz-border-radius:4px} + +.reset-button { color:#c77!important;text-shadow:0 1px 0 #fff !important;} +.reset-button:hover { border-color:#c77!important;} +.save_bar_top { background: #f3f3f3; border:solid #ccc; border-width:0px 1px 1px 1px; padding: 10px 20px 0px 20px; height: 35px; text-align: right; +/*INSET SHADOW*/ +-webkit-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +-moz-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +} +#wooform-reset { float:left; } + +.hide {display:none} + +.ajax-loading-img-top { margin: 8px 4px 0; float:left} +.ajax-loading-img-bottom {} + +.woo-option-image { max-width:340px; } + +#woo_container .mini .controls select, #woo_container #content .section .mini .controls {width: 70px; } +#woo_container .mini .controls input, #woo_container #content .mini .controls {width: 70px; } + +#woo_container #content .mini .explain { width:500px; } + +.woo-notice { background: #ffd1d1 ; border:1px solid #DFA8A7; -moz-border-radius:8px; text-align: center; margin-bottom: 15px } + +/*-------------------------------------------------------------------------------------------*/ +/* FEEDS PAGE */ +/*-------------------------------------------------------------------------------------------*/ + + .themes-page div.info { height:30px;} + .themes-page div.info a { float:left; margin: 0 10px 0 0; padding:3px 10px; background:#D7E6F2; -moz-border-radius:4px} + .themes-page div.info a:link, + .themes-page div.info a:visited { color:#21759B; font-size:10px; font-weight:bold; text-decoration:none; text-shadow:1px 1px 0 #FFFFFF;} + .themes-page div.info a:active, + .themes-page div.info a:hover{color:#155876;} + + ul.themes li.theme {border-bottom: 1px #ddd solid; padding: 20px 0; height:230px} + ul.themes li.theme span{ display:block; float: left} + ul.themes li.theme span img{ } + ul.themes li.theme div {margin-left: 310px; } + ul.themes li.theme div h2 { font-size: 20px; background: #eee; padding: 0px 10px; margin-bottom: 10px; border-bottom:1px #ddd solid; border-top:1px #e1e1e1 solid} + ul.themes li.theme div h2 a:link, + ul.themes li.theme div h2 a:visited { color: #555; text-decoration: none; font-style: normal;} + + ul.themes li.theme div p { width: 450px; padding-left: 5px;} + ul.themes li.theme div p{ font-size: 12px!important; margin: 10px 10px 10px 10px; } + ul.themes li.theme div ul {padding-left: 0px; color: #ccc; float:left; border-top:#eee 1px solid; padding-top: 10px;margin-left:20px } + ul.themes li.theme div ul li { list-style: disc; list-style-position:inside; } + ul.themes li.theme div ul li a:link, + ul.themes li.theme div ul li a:visited { font-size: 12px!important; text-decoration: none;} + ul.themes li.theme div ul li a:hover, + ul.themes li.theme div ul li a:active { text-decoration: underline ;} + +/*-------------------------------------------------------------------------------------------*/ +/* SIDEBAR MANAGER */ +/*-------------------------------------------------------------------------------------------*/ + +#woo_container #content.sbm-content { width: 785px; padding-top:20px } + +#woo_container #content.sbm-content .info-box { position: relative; margin: 0px 0 20px 0; padding: 0 12px; background: #fff298; border: 1px solid #ecd852; } +#woo_container #content.sbm-content .info-box h2 { font: bold 14px Helvetica, Arial, sans-serif; text-transform: uppercase; } +#woo_container #content.sbm-content .info-box p { margin: 5px 0 10px; font-family: Helvetica, Arial, sans-serif; } +#woo_container #content.sbm-content .info-box .btn-close { position: absolute; top: 7px; left: 730px; } + +#sbm-sidebar { float: left; width: 230px; margin: 0 20px 0 0; } +#sbm-main { float: left; width: 505px; } + +#woo_container #woo-sbm-menu { min-width: 230px; } +#woo_container #woo-sbm-menu h3 { padding: 7px 9px; font-size: 12px; cursor: default; } +#woo_container #woo-sbm-menu ul { margin: 0 0 0 10px; } +#woo_container #woo-sbm-menu ul ul{ margin: 5px 0 0 5px; } +#woo_container #woo-sbm-menu ul li { cursor: pointer} +#woo_container #woo-sbm-menu ul li a { display: block; font-size: 12px; font-weight: bold; text-transform: uppercase; color: #333; text-decoration: none; } +#woo_container #woo-sbm-menu ul li a:hover, #woo_container #woo-sbm-menu ul li li:hover { color: #757575; } +#woo_container #woo-sbm-menu ul ul li { margin-bottom: 4px; } +#woo_container #woo-sbm-menu ul ul li span { display: none} +ul#woo-sbm-menu_ul li a span { color: #999; } + +#woo_container h3 { margin: 0 0 10px 0} +#woo_container h3 span { font-size: 10px; color: #ccc} +#woo_container .woo-sbm-tip { display:block; padding: 15px 15px 15px 15px; margin-bottom: 10px; background: #EDFCD5; text-shadow: 0 1px 0 #FFFFFF; border: 1px solid #D4EBAF; font: italic 13px/1.5em Georgia, serif; +} + +#woo_container #woo-sbm-get-links { display: none; } + +#woo-sbm-toggle-info { float: right; margin: 3px 5px 0 0; text-decoration: none; text-transform: uppercase; font-size: 11px; } +#woo-sbm-toggle-info img { vertical-align: top; padding: 0 0 0 5px; } + +#woo_container .woo-sbm-builder { position: relative} +#woo_container .woo-sbm-builder .nav-tabs-nav { margin: 0 0 0 10px; } +#woo_container .woo-sbm-builder .nav-tab { background: #F4F4F4; font-size: 11px; border-bottom: 1px solid #ccc; } +#woo_container .woo-sbm-builder .nav-tab-active { font-weight: bold; background: #ececec; border-bottom: 1px solid #ececec; } +#woo_container .woo-sbm-builder .builder-header {padding: 10px; border: 1px solid #ccc; border-width: 1px 1px 0; background: url( "images/gray-grad.png") repeat-x scroll left top #DFDFDF; border-top-right-radius: 6px; -moz-border-radius-topright: 6px; -webkit-border-top-right-radius: 6px; border-top-left-radius: 6px; -moz-border-radius-topleft: 6px; -webkit-border-top-left-radius: 6px; } +#woo_container .woo-sbm-builder label { display: block; margin-bottom: 0px; padding: 5px 0; font-size: 12px} +#woo_container .woo-sbm-builder label span { float:left; width: 130px; font-weight: 700; text-align: right; margin-right: 10px} +#woo_container .woo-sbm-builder #woo-sbm-label-sb-name span { padding-top: 5px; } +#woo_container .woo-sbm-builder #woo-sbm-builder-body label span { font-size: 13px; color: #333; padding-top: 3px; } +#woo_container .woo-sbm-builder #woo-sbm-builder-body select { width: 330px; } +#woo_container .woo-sbm-builder #sidebar-description { width: 330px!important; height: 80px; } +#woo_container .woo-sbm-builder #sidebar-title { width: 330px; padding: 5px 0 6px 5px; } +#woo_container .woo-sbm-builder .woo-sbm-controls .button { width: 90px!important; margin-right: 23px; } +#woo_container .woo-sbm-builder #woo-sbm-more-info { text-align: center; display: block; font-size: 11px; text-transform: uppercase } +#woo_container .woo-sbm-builder-edit { float:none; width: auto; margin:0; padding: 10px 0 0; border: 0; background: transparent none;} +#woo_container .woo-sbm-builder-edit input { width: 230px; } + +#woo_container #woo-sbm-response-builder input { font-size: 12px; padding: 3px; width: 280px} + +#woo_container #woo-sbm-sidebars {margin-top: 20px; padding-top: 20px; border-top: 1px solid #eee } +#woo_container #woo-sbm-sidebars #menu-to-edit { padding: 0 0 30px; } +#woo_container #woo-sbm-sidebars #menu-to-edit li dt { width: 492px; cursor: default; } +#woo_container #woo-sbm-sidebars #menu-to-edit li .menu-item-settings .description-thin { width: 236px; } +#woo_container #woo-sbm-sidebars #menu-to-edit li .menu-item-settings .description-wide { width: 481px; } +#woo_container #woo-sbm-sidebars #menu-to-edit li .menu-item-settings p label input, #woo_container #woo-sbm-sidebars #menu-to-edit li .menu-item-settings p label select, #woo_container #woo-sbm-sidebars #menu-to-edit li .menu-item-settings p label textarea { margin-top: 5px;} +#woo_container #woo-sbm-sidebars #menu-to-edit li .menu-item-settings p { margin-bottom: 20px; } +#woo_container #woo-sbm-sidebars #menu-to-edit li .menu-item-settings .menu-item-actions { padding: 0; margin-top: -8px; } +#woo_container #woo-sbm-sidebars #menu-to-edit li.menu-item-depth-1 { margin-left: 15px; } +#woo_container #woo-sbm-sidebars #menu-to-edit li.menu-item-depth-1 dt { width: 477px; } +#woo_container #woo-sbm-sidebars #menu-to-edit li.menu-item-depth-1 .menu-item-settings { width: 477px; } +#woo_container #woo-sbm-sidebars #menu-to-edit li.menu-item-depth-1 .menu-item-settings .description-thin { width: 336px; } +#woo_container #woo-sbm-sidebars #menu-to-edit li .menu-item-settings p label { z-index: 9999; position: relative; } + + +#woo_container .menu-item-depth-1 { margin-left: 30px; } + + +#woo_container #woo-sbm-builder-meta { display: none; font-size: 11px; padding: 0px; background: #fff; color: #555; border: 1px solid #ccc; width: 320px; position: absolute; top:-185px; right:0; + box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1); + border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -khtml-border-radius: 6px; +} +#woo_container #woo-sbm-builder-meta label { font-size: 11px; border-bottom: #ccc 1px solid; padding: 5px 10px } +#woo_container #woo-sbm-builder-meta label span { text-transform: uppercase; width: 40px; text-align: right; padding-right: 5px;} +#woo_container #woo-sbm-builder-meta label.last { overflow:hidden; height:18px} + +#woo_container #woo-sbm-builder-body { padding: 10px; background: #f3f3f3;border: 1px solid; border-color: #fff #e3e3e3 #e3e3e3 #ddd;} +#woo_container #woo-sbm-builder-body label { border:0px;} +#woo_container #woo-sbm-builder-body label span { color:#999; font-family: georgia,arial; font-size: 1.2em; font-weight: 100; font-style:italic} +#woo_container .woo-sbm-builder label span { position: relative; z-index: 9999; } + + + +#woo_container #woo-sbm-builder-meta-top { padding: 5px 10px; background: #ccc; color: #000; font-size: 14px; text-transform: uppercase } +#woo_container #woo-sbm-builder-meta-bottom {} + +#woo_container #woo-sbm-builder-part-assign { display: none} +#woo_container #woo-sbm-builder-message { display:block; font-size: 11px; padding: 10px 0; cursor: pointer; text-decoration: underline; color:green; font-weight: 700;} +#woo_container #woo-sbm-builder-message:hover { text-decoration: none;} +#woo_container .last { border-bottom: 0px!important;} +#woo_container .woo-sbm-controls {height:20px; margin-top: 15px} +#woo_container .woo-sbm-controls .button { float:right} + +#woo_container .saved_sidebar { background: #D7E6F2; border:1px solid #C2CFDF; font-size: 13px; margin-bottom: 3px; padding: 5px 10px} +#woo_container .piggy { margin-left: 6px; background: #C9D9E6; padding: 0px 10px;font-size: 11px} +#woo_container .delete-sidebar { float:right; font-size: 9px; color: red; margin-left: 15px} +#woo_container .edit-sidebar { float:right; font-size: 9px; color: green} + +/* Nav Menu - From wordpress */ +#menu-container .inside { padding-bottom: 10px; } + +.menu { + padding-top:1em; +} + +#menu-to-edit { + padding: 1em 0; +} + +.menu ul { + width: 100%; +} +.menu ul.sub-menu { +} +.menu li { + margin-bottom: 0; + position:relative; +} +.menu-item-bar { + clear:both; + line-height:1.5em; + position:relative; + margin-top: 13px; +} +.menu-item-handle { + border: 1px solid #E6E6E6; + position: relative; + padding-left: 10px; + height: auto; + width: 400px; + line-height: 35px; + text-shadow: 0 1px 0 #FFFFFF; + font-weight:bold; + overflow: hidden; + border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -khtml-border-radius: 6px; + word-wrap: break-word; +} +.menu-item-edit-active .menu-item-handle { + -moz-border-radius: 6px 6px 0 0; + -webkit-border-bottom-right-radius: 0; + -webkit-border-bottom-left-radius: 0; + -khtml-border-bottom-right-radius: 0; + -khtml-border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.no-js .menu-item-edit-active .item-edit { + display: none; +} +.js .menu-item-handle { + cursor: move; +} +.menu li.deleting .menu-item-handle { + background-color: #f66; + background-image: none; + text-shadow: 0 0 0 #ccc; +} + +.menu-item-handle .item-title { + padding: 7px 0; + line-height: 20px; + display:block; + margin-right:13em; +} + +.item-type { text-transform: uppercase; font-size: 11px; color: #999999; padding-right: 10px; } +.item-controls { font-size: 11px; position: absolute; right: 20px; top: -1px; } +.item-controls a { text-decoration: none; } +.item-controls a:hover { cursor: pointer; } +.item-controls .item-order { padding-right: 10px;} +.item-controls .item-order a { + font-weight:bold; +} + +body.js .item-order { + display:none; +} + +.item-controls .menu-item-delete:hover { color: #ff0000; } + +.item-edit { + background: url( "../../../../wp-admin/images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -105px; + position: absolute; + right: -20px; + top: 0; + display: block; + width: 23px; + height: 36px; + overflow: hidden; + text-indent:-999em; + border-bottom: 1px solid #eee; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + -khtml-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; +} + +/* Menu editing */ +.menu-instructions-inactive { + display: none; +} +.menu-item-settings { + background: #F9F9F9; + display:block; + width: 492px; + padding: 10px 0 10px 10px; + border: solid #E6E6E6; + border-width: 0 1px 1px 1px; + -moz-border-radius: 0 0 6px 6px; + -webkit-border-bottom-right-radius: 6px; + -webkit-border-bottom-left-radius: 6px; + -khtml-border-bottom-right-radius: 6px; + -khtml-border-bottom-left-radius: 6px; +} + + +.menu-item-settings:after { + clear: both; + content: '.'; + display: block; + height: 0px; + visibility: hidden; +} +.menu-item-settings input { width: 100%!important} + +.menu-item-edit-active .menu-item-settings { + display:block; +} + +.menu-item-edit-inactive .menu-item-settings { + display:none; +} + +.add-menu-item-pagelinks { + margin:.5em auto; + text-align:center; +} + +.link-to-original { + display: block; + margin: 0 0 10px; + padding: 3px 5px 5px; + font-size: 11px; + color: #777; + font-style: italic; + border: 1px solid #dfdfdf; + border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -khtml-border-radius: 6px; +} + .link-to-original a { + padding-left: 4px; + font-style: normal; + } + +.hidden-field { + display: none; +} + +.menu-item-settings .description-thin, +.menu-item-settings .description-wide { + margin-right: 10px; + float: left; +} +.description-thin { + width: 190px; + height: 40px; +} +.description-wide { + width: 390px; +} + +.menu-item-actions { + padding-top: 15px; +} + +#cancel-save { cursor: pointer; } +#cancel-save:hover { color: #fff !important; } +#update-menu-item { color: #fff !important; } +#update-menu-item:hover, +#update-menu-item:active, +#update-menu-item:focus { color: #eaf2fa !important; border-color: #13455b !important; } + +/* String Builder */ +.add_button { height: 50px;} +.string_option { margin-bottom: 5px; padding: 7px 12px; font-size: 12px; background: #f7f7f7; + border: 1px solid #dfdfdf; + border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -khtml-border-radius: 6px; +} +.string_option span { font-weight: 700;} +.string_option .delete { text-transform: uppercase; font-size:10px; float: right; color: red} + +/*-------------------------------------------------------------------------------------------*/ +/* Icons Option panel */ +/*-------------------------------------------------------------------------------------------*/ + +#woo_container #woo-nav ul li.general a { background-image:url(images/option-icon-general.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.styling a { background-image:url(images/option-icon-styling.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.typography a { background-image:url(images/option-icon-typography.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.image a { background-image:url(images/option-icon-image.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.ads a { background-image:url(images/option-icon-ads.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.homepage a { background-image:url(images/option-icon-homepage.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.media a { background-image:url(images/option-icon-media.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.calendar a { background-image:url(images/option-icon-calendar.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.slider a { background-image:url(images/option-icon-slider.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.box a { background-image:url(images/option-icon-box.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.layout a { background-image:url(images/option-icon-layout.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.header a { background-image:url(images/option-icon-header.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.featured a { background-image:url(images/option-icon-featured.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.main a { background-image:url(images/option-icon-main.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.sidebar a { background-image:url(images/option-icon-sidebar.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.footer a { background-image:url(images/option-icon-footer.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.portfolio a { background-image:url(images/option-icon-portfolio.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.tumblog a { background-image:url(images/option-icon-tumblog.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.nav a { background-image:url(images/option-icon-nav.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.audio a { background-image:url(images/option-icon-audio.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.misc a { background-image:url(images/option-icon-misc.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.maps a { background-image:url(images/option-icon-maps.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.searchoption a { background-image:url(images/option-icon-search.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.upload a { background-image:url(images/option-icon-upload.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.favorite a { background-image:url(images/option-icon-favorite.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.listing a { background-image:url(images/option-icon-listing.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.post a { background-image:url(images/option-icon-post.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.connect a { background-image:url(images/option-icon-connect.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } +#woo_container #woo-nav ul li.wpsc_presentation a { background-image:url(images/option-icon-cart.png); background-repeat: no-repeat; background-position: 15px center; padding-left:40px; } + + +/*-------------------------------------------------------------------------------------------*/ +/* WP E Commerce Plugin Options Panel */ +/*-------------------------------------------------------------------------------------------*/ + +#wpsc-presentation { + min-height: 2650px; + width: 600px; +} + +/*-------------------------------------------------------------------------------------------*/ +/* GENERAL STYLES */ +/*-------------------------------------------------------------------------------------------*/ + +/* http://sonspring.com/journal/clearing-floats */ + +html body * span.clear, +html body * div.clear, +html body * li.clear, +html body * dd.clear +{ + background: none; + border: 0; + clear: both; + display: block; + float: none; + font-size: 0; + list-style: none; + margin: 0; + padding: 0; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; +} diff --git a/src/wp-content/themes/originalhouse/functions/admin-tumblog-quickpress.php b/src/wp-content/themes/originalhouse/functions/admin-tumblog-quickpress.php new file mode 100644 index 0000000..abbb288 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/admin-tumblog-quickpress.php @@ -0,0 +1,1465 @@ + $normal_dashboard['woo_tumblog_dashboard_widget']); + unset($normal_dashboard['woo_tumblog_dashboard_widget']); + // Merge the two arrays together so tumblog widget is at the beginning + $sorted_dashboard = array_merge($woo_tumblog_widget_backup, $normal_dashboard); + // Save the sorted array back into the original metaboxes + $wp_meta_boxes['dashboard']['normal']['core'] = $sorted_dashboard; +} + +//Loads Tumblog javascript and php js functions +function woo_load_tumblog_libraries() { + wp_enqueue_script( 'newscript', get_template_directory_uri() . '/functions/js/tumblog-ajax.js', array( 'jquery', 'jquery-form')); + wp_enqueue_script( 'nicedit', get_template_directory_uri() . '/functions/js/nicEdit.js' ); + wp_enqueue_script( 'phpjs', get_template_directory_uri() . '/functions/js/php.js' ); + wp_enqueue_script( 'datepicker', get_template_directory_uri() . '/functions/js/ui.datepicker.js',array( 'jquery')); +} + +//Load Tumblog CSS +function woo_load_tumblog_css($hook) { + if ($hook == 'post.php' OR $hook == 'post-new.php' OR $hook == 'page-new.php' OR $hook == 'page.php') { + } + else { + echo ""; + echo ""; + } + +} + +/*-----------------------------------------------------------------------------------*/ +/* AJAX Callback Functions +/*-----------------------------------------------------------------------------------*/ + +//Handles AJAX Form Post from Woo QuickPress +function woo_tumblog_ajax_post() { + //Publish Article + if ($_POST['tumblog-type'] == 'article') + { + $data = $_POST; + $type = 'note'; + woo_tumblog_publish($type, $data); + die ( 'OK' ); + } + //Publish Video + elseif ($_POST['tumblog-type'] == 'video') + { + $data = $_POST; + $type = 'video'; + woo_tumblog_publish($type, $data); + die ( 'OK' ); + } + //Publish Image + elseif ($_POST['tumblog-type'] == 'image') + { + $data = $_POST; + $type = 'image'; + woo_tumblog_publish($type, $data); + die ( 'OK' ); + } + //Publish Link + elseif ($_POST['tumblog-type'] == 'link') + { + $data = $_POST; + $type = 'link'; + woo_tumblog_publish($type, $data); + die ( 'OK' ); + } + //Publish Quote + elseif ($_POST['tumblog-type'] == 'quote') + { + $data = $_POST; + $type = 'quote'; + woo_tumblog_publish($type, $data); + die ( 'OK' ); + } + //Publish Audio + elseif ($_POST['tumblog-type'] == 'audio') + { + $data = $_POST; + $type = 'audio'; + woo_tumblog_publish($type, $data); + die ( 'OK' ); + } + //Default + else { + die ( 'OK' ); + } +} + +//Publishes the Tumblog Item +function woo_tumblog_publish($type, $data) { + global $current_user; + //Gets the current user's info + get_currentuserinfo(); + + $content_method = get_option( 'woo_tumblog_content_method' ); + + //Set custom fields + $tumblog_custom_fields = array( 'video-embed' => 'video-embed', + 'quote-copy' => 'quote-copy', + 'quote-author' => 'quote-author', + 'quote-url' => 'quote-url', + 'link-url' => 'link-url', + 'image-url' => 'image', + 'audio-url' => 'audio' + ); + //get term ids + $tumblog_items = array( 'articles' => get_option( 'woo_articles_term_id'), + 'images' => get_option( 'woo_images_term_id'), + 'audio' => get_option( 'woo_audio_term_id'), + 'video' => get_option( 'woo_video_term_id'), + 'quotes' => get_option( 'woo_quotes_term_id'), + 'links' => get_option( 'woo_links_term_id') + ); + //Set date formatting + $php_formatting = "Y-m-d H:i:s"; + //default post settings + $tumbl_note = array(); + $tumbl_note['post_status'] = 'publish'; + $browser = $_SERVER['HTTP_USER_AGENT'] . "\n\n"; + $safari_check = substr_count( strtolower( $browser ) , strtolower( 'safari' ) ); + if ($safari_check > 0) { + $data['tumblog-content'] = str_ireplace(array( '
        ','
        '),array( '','
        '),$data['tumblog-content']); + $data['tumblog-content'] = str_ireplace(array( '


        '),array( '

        '),$data['tumblog-content']); + $data['tumblog-content'] = str_ireplace(array( ' '), array( ' '),$data['tumblog-content']); + } + //Handle Tumblog Types + switch ($type) + { + case 'note': + //Create post object + $tumbl_note['post_title'] = $data['note-title']; + $tumbl_note['post_content'] = $data['tumblog-content']; + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + if ($data['tumblog-status'] != '') { + $tumbl_note['post_status'] = $data['tumblog-status']; + } + //Hours and Mins + $original_hours = (int)$data['original-tumblog-hours']; + $original_mins = (int)$data['original-tumblog-mins']; + $original_date = strtotime($data['original-tumblog-date']); + $posted_date = strtotime($data['tumblog-date']); + $note_hours = (int)$data['tumblog-hours']; + if ($note_hours == 0) { $note_hours = 12; } + elseif ($note_hours >= 24) { $note_hours = 0; } + $note_mins = (int)$data['tumblog-mins']; + if ($note_mins == 0) { $note_mins = 0; } + elseif ($note_mins >= 60) { $note_mins = 0; } + //Convert to Y-m-d H:i:s + //if everything is unchanged + if ( ($note_hours == $original_hours) && ($note_mins == $original_mins) && ($posted_date == $original_date) ) { + $time_now_hours = date_i18n( "H" ); + $time_now_mins = date_i18n( "i" ); + $date_raw = date( "Y").'-'.date( "m").'-'.date( "d").' '.$time_now_hours.':'.$time_now_mins.':00'; + } else { + $date_raw = date( "Y",strtotime($data['tumblog-date'])).'-'.date( "m",strtotime($data['tumblog-date'])).'-'.date( "d",strtotime($data['tumblog-date'])).' '.$note_hours.':'.$note_mins.':00'; + } + $date_formatted = date($php_formatting, strtotime($date_raw)); + $tumbl_note['post_date'] = $date_formatted; + // DEPRECATED + // } + $tumbl_note['post_author'] = $current_user->ID; + $tumbl_note['tags_input'] = $data['tumblog-tags']; + + // DEPRECATED + // Get Category from Theme Options + /* + if (get_option( 'tumblog_woo_tumblog_upgraded') != 'true') { + $category_id = get_cat_ID( get_option( 'woo_articles_category') ); + $categories = array($category_id); + } else { + $categories = array(); + } + */ + + $categories = array(); + + $post_cat_array = $data['post_category']; + if(empty($post_cat_array)) + { + //Do nothing + } else { + $N = count($post_cat_array); + for($i=0; $i < $N; $i++) { + array_push($categories, $post_cat_array[$i]); + } + } + $tumbl_note['post_category'] = $categories; + //Insert the note into the database + $post_id = wp_insert_post($tumbl_note); + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + + if ($content_method == 'post_format') { + set_post_format( $post_id, 'aside' ); + } else { + //update posts taxonomies + $taxonomy_data = $data['tax_input']; + if ( !empty($taxonomy_data) ) { + foreach ( $taxonomy_data as $taxonomy => $tags ) { + $taxonomy_obj = get_taxonomy($taxonomy); + if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical. + $tags = array_filter($tags); + if ( current_user_can($taxonomy_obj->cap->assign_terms) ) + array_push($tags, $tumblog_items['articles']); + } + } else { + $tags[0] = $tumblog_items['articles']; + } + wp_set_post_terms( $post_id, $tags, 'tumblog' ); + } + + // DEPRECATED + // } + + break; + case 'video': + //Create post object + $tumbl_note['post_title'] = $data['video-title']; + $tumbl_note['post_content'] = $data['tumblog-content']; + // DEPRECATED + //if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + if ($data['tumblog-status'] != '') { + $tumbl_note['post_status'] = $data['tumblog-status']; + } + //Hours and Mins + $original_hours = (int)$data['original-tumblog-hours']; + $original_mins = (int)$data['original-tumblog-mins']; + $original_date = strtotime($data['original-tumblog-date']); + $posted_date = strtotime($data['tumblog-date']); + $note_hours = (int)$data['tumblog-hours']; + if ($note_hours == 0) { $note_hours = 12; } + elseif ($note_hours >= 24) { $note_hours = 0; } + $note_mins = (int)$data['tumblog-mins']; + if ($note_mins == 0) { $note_mins = 0; } + elseif ($note_mins >= 60) { $note_mins = 0; } + //Convert to Y-m-d H:i:s + //if everything is unchanged + if ( ($note_hours == $original_hours) && ($note_mins == $original_mins) && ($posted_date == $original_date) ) { + $time_now_hours = date_i18n( "H" ); + $time_now_mins = date_i18n( "i" ); + $date_raw = date( "Y").'-'.date( "m").'-'.date( "d").' '.$time_now_hours.':'.$time_now_mins.':00'; + } else { + $date_raw = date( "Y",strtotime($data['tumblog-date'])).'-'.date( "m",strtotime($data['tumblog-date'])).'-'.date( "d",strtotime($data['tumblog-date'])).' '.$note_hours.':'.$note_mins.':00'; + } + $date_formatted = date($php_formatting, strtotime($date_raw)); + $tumbl_note['post_date'] = $date_formatted; + // DEPRECATED + // } + $tumbl_note['post_author'] = $current_user->ID; + $tumbl_note['tags_input'] = $data['tumblog-tags']; + + // DEPRECATED + //Get Category from Theme Options + /* + if (get_option( 'tumblog_woo_tumblog_upgraded') != 'true') { + $category_id = get_cat_ID( get_option( 'woo_videos_category') ); + $categories = array($category_id); + } else { + $categories = array(); + } + */ + + $categories = array(); + + $post_cat_array = $data['post_category']; + if(empty($post_cat_array)) + { + //Do nothing + } else { + $N = count($post_cat_array); + for($i=0; $i < $N; $i++) { + array_push($categories, $post_cat_array[$i]); + } + } + $tumbl_note['post_category'] = $categories; + //Insert the note into the database + $post_id = wp_insert_post($tumbl_note); + //Add Custom Field Data to the Post + add_post_meta($post_id, $tumblog_custom_fields['video-embed'], $data['video-embed'], true); + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + + if ($content_method == 'post_format') { + set_post_format( $post_id, 'video' ); + } else { + //update posts taxonomies + $taxonomy_data = $data['tax_input']; + if ( !empty($taxonomy_data) ) { + foreach ( $taxonomy_data as $taxonomy => $tags ) { + $taxonomy_obj = get_taxonomy($taxonomy); + if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical. + $tags = array_filter($tags); + if ( current_user_can($taxonomy_obj->cap->assign_terms) ) + array_push($tags, $tumblog_items['video']); + } + } else { + $tags[0] = $tumblog_items['video']; + } + wp_set_post_terms( $post_id, $tags, 'tumblog' ); + } + + // DEPRECATED + // } + + break; + case 'image': + //Create post object + $tumbl_note['post_title'] = $data['image-title']; + $tumbl_note['post_content'] = $data['tumblog-content']; + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + if ($data['tumblog-status'] != '') { + $tumbl_note['post_status'] = $data['tumblog-status']; + } + //Hours and Mins + $original_hours = (int)$data['original-tumblog-hours']; + $original_mins = (int)$data['original-tumblog-mins']; + $original_date = strtotime($data['original-tumblog-date']); + $posted_date = strtotime($data['tumblog-date']); + $note_hours = (int)$data['tumblog-hours']; + if ($note_hours == 0) { $note_hours = 12; } + elseif ($note_hours >= 24) { $note_hours = 0; } + $note_mins = (int)$data['tumblog-mins']; + if ($note_mins == 0) { $note_mins = 0; } + elseif ($note_mins >= 60) { $note_mins = 0; } + //Convert to Y-m-d H:i:s + //if everything is unchanged + if ( ($note_hours == $original_hours) && ($note_mins == $original_mins) && ($posted_date == $original_date) ) { + $time_now_hours = date_i18n( "H" ); + $time_now_mins = date_i18n( "i" ); + $date_raw = date( "Y").'-'.date( "m").'-'.date( "d").' '.$time_now_hours.':'.$time_now_mins.':00'; + } else { + $date_raw = date( "Y",strtotime($data['tumblog-date'])).'-'.date( "m",strtotime($data['tumblog-date'])).'-'.date( "d",strtotime($data['tumblog-date'])).' '.$note_hours.':'.$note_mins.':00'; + } + $date_formatted = date($php_formatting, strtotime($date_raw)); + $tumbl_note['post_date'] = $date_formatted; + + // DEPRECATED + // } + $tumbl_note['post_author'] = $current_user->ID; + $tumbl_note['tags_input'] = $data['tumblog-tags']; + + // DEPRECATED + //Get Category from Theme Options + /* + if (get_option( 'tumblog_woo_tumblog_upgraded') != 'true') { + $category_id = get_cat_ID( get_option( 'woo_images_category') ); + $categories = array($category_id); + } else { + $categories = array(); + } + */ + + $categories = array(); + + $post_cat_array = $data['post_category']; + if(empty($post_cat_array)) + { + //Do nothing + } else { + $N = count($post_cat_array); + for($i=0; $i < $N; $i++) { + array_push($categories, $post_cat_array[$i]); + } + } + $tumbl_note['post_category'] = $categories; + //Insert the note into the database + $post_id = wp_insert_post($tumbl_note); + //Add Custom Field Data to the Post + if ($data['image-id'] > 0) { + $my_post = array(); + $my_post['ID'] = $data['image-id']; + $my_post['post_parent'] = $post_id; + //Update the post into the database + wp_update_post( $my_post ); + add_post_meta($post_id, $tumblog_custom_fields['image-url'], $data['image-upload'], true); + } + else { + add_post_meta($post_id, $tumblog_custom_fields['image-url'], $data['image-url'], true); + } + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + + if ($content_method == 'post_format') { + set_post_format( $post_id, 'image' ); + } else { + //update posts taxonomies + $taxonomy_data = $data['tax_input']; + if ( !empty($taxonomy_data) ) { + foreach ( $taxonomy_data as $taxonomy => $tags ) { + $taxonomy_obj = get_taxonomy($taxonomy); + if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical. + $tags = array_filter($tags); + if ( current_user_can($taxonomy_obj->cap->assign_terms) ) + array_push($tags, $tumblog_items['images']); + } + } else { + $tags[0] = $tumblog_items['images']; + } + wp_set_post_terms( $post_id, $tags, 'tumblog' ); + } + + // DEPRECATED + // } + + break; + case 'link': + //Create post object + $tumbl_note['post_title'] = $data['link-title']; + $tumbl_note['post_content'] = $data['tumblog-content']; + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + if ($data['tumblog-status'] != '') { + $tumbl_note['post_status'] = $data['tumblog-status']; + } + //Hours and Mins + $original_hours = (int)$data['original-tumblog-hours']; + $original_mins = (int)$data['original-tumblog-mins']; + $original_date = strtotime($data['original-tumblog-date']); + $posted_date = strtotime($data['tumblog-date']); + $note_hours = (int)$data['tumblog-hours']; + if ($note_hours == 0) { $note_hours = 12; } + elseif ($note_hours >= 24) { $note_hours = 0; } + $note_mins = (int)$data['tumblog-mins']; + if ($note_mins == 0) { $note_mins = 0; } + elseif ($note_mins >= 60) { $note_mins = 0; } + //Convert to Y-m-d H:i:s + //if everything is unchanged + if ( ($note_hours == $original_hours) && ($note_mins == $original_mins) && ($posted_date == $original_date) ) { + $time_now_hours = date_i18n( "H" ); + $time_now_mins = date_i18n( "i" ); + $date_raw = date( "Y").'-'.date( "m").'-'.date( "d").' '.$time_now_hours.':'.$time_now_mins.':00'; + } else { + $date_raw = date( "Y",strtotime($data['tumblog-date'])).'-'.date( "m",strtotime($data['tumblog-date'])).'-'.date( "d",strtotime($data['tumblog-date'])).' '.$note_hours.':'.$note_mins.':00'; + } + $date_formatted = date($php_formatting, strtotime($date_raw)); + $tumbl_note['post_date'] = $date_formatted; + // DEPRECATED + // } + $tumbl_note['post_author'] = $current_user->ID; + $tumbl_note['tags_input'] = $data['tumblog-tags']; + + // DEPRECATED + //Get Category from Theme Options + /* + if (get_option( 'tumblog_woo_tumblog_upgraded') != 'true') { + $category_id = get_cat_ID( get_option( 'woo_links_category') ); + $categories = array($category_id); + } else { + $categories = array(); + } + */ + + $categories = array(); + + $post_cat_array = $data['post_category']; + if(empty($post_cat_array)) + { + //Do nothing + } else { + $N = count($post_cat_array); + for($i=0; $i < $N; $i++) { + array_push($categories, $post_cat_array[$i]); + } + } + $tumbl_note['post_category'] = $categories; + //Insert the note into the database + $post_id = wp_insert_post($tumbl_note); + //Add Custom Field Data to the Post + add_post_meta($post_id, $tumblog_custom_fields['link-url'], $data['link-url'], true); + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + + if ($content_method == 'post_format') { + set_post_format( $post_id, 'link' ); + } else { + //update posts taxonomies + $taxonomy_data = $data['tax_input']; + if ( !empty($taxonomy_data) ) { + foreach ( $taxonomy_data as $taxonomy => $tags ) { + $taxonomy_obj = get_taxonomy($taxonomy); + if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical. + $tags = array_filter($tags); + if ( current_user_can($taxonomy_obj->cap->assign_terms) ) + array_push($tags, $tumblog_items['links']); + } + } else { + $tags[0] = $tumblog_items['links']; + } + wp_set_post_terms( $post_id, $tags, 'tumblog' ); + } + // DEPRECATED + // } + + break; + case 'quote': + //Create post object + $tumbl_note['post_title'] = $data['quote-title']; + $tumbl_note['post_content'] = $data['tumblog-content']; + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + if ($data['tumblog-status'] != '') { + $tumbl_note['post_status'] = $data['tumblog-status']; + } + //Hours and Mins + $original_hours = (int)$data['original-tumblog-hours']; + $original_mins = (int)$data['original-tumblog-mins']; + $original_date = strtotime($data['original-tumblog-date']); + $posted_date = strtotime($data['tumblog-date']); + $note_hours = (int)$data['tumblog-hours']; + if ($note_hours == 0) { $note_hours = 12; } + elseif ($note_hours >= 24) { $note_hours = 0; } + $note_mins = (int)$data['tumblog-mins']; + if ($note_mins == 0) { $note_mins = 0; } + elseif ($note_mins >= 60) { $note_mins = 0; } + //Convert to Y-m-d H:i:s + //if everything is unchanged + if ( ($note_hours == $original_hours) && ($note_mins == $original_mins) && ($posted_date == $original_date) ) { + $time_now_hours = date_i18n( "H" ); + $time_now_mins = date_i18n( "i" ); + $date_raw = date( "Y").'-'.date( "m").'-'.date( "d").' '.$time_now_hours.':'.$time_now_mins.':00'; + } else { + $date_raw = date( "Y",strtotime($data['tumblog-date'])).'-'.date( "m",strtotime($data['tumblog-date'])).'-'.date( "d",strtotime($data['tumblog-date'])).' '.$note_hours.':'.$note_mins.':00'; + } + $date_formatted = date($php_formatting, strtotime($date_raw)); + $tumbl_note['post_date'] = $date_formatted; + // DEPRECATED + // } + $tumbl_note['post_author'] = $current_user->ID; + $tumbl_note['tags_input'] = $data['tumblog-tags']; + + // DEPRECATED + //Get Category from Theme Options + /* + if (get_option( 'tumblog_woo_tumblog_upgraded') != 'true') { + $category_id = get_cat_ID( get_option( 'woo_quotes_category') ); + $categories = array($category_id); + } else { + $categories = array(); + } + */ + + $categories = array(); + + $post_cat_array = $data['post_category']; + if(empty($post_cat_array)) + { + //Do nothing + } else { + $N = count($post_cat_array); + for($i=0; $i < $N; $i++) { + array_push($categories, $post_cat_array[$i]); + } + } + $tumbl_note['post_category'] = $categories; + //Insert the note into the database + $post_id = wp_insert_post($tumbl_note); + //Add Custom Field Data to the Post + add_post_meta($post_id, $tumblog_custom_fields['quote-copy'], $data['quote-copy'], true); + add_post_meta($post_id, $tumblog_custom_fields['quote-author'], $data['quote-author'], true); + add_post_meta($post_id, $tumblog_custom_fields['quote-url'], $data['quote-url'], true); + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + + if ($content_method == 'post_format') { + set_post_format( $post_id, 'quote' ); + } else { + //update posts taxonomies + $taxonomy_data = $data['tax_input']; + if ( !empty($taxonomy_data) ) { + foreach ( $taxonomy_data as $taxonomy => $tags ) { + $taxonomy_obj = get_taxonomy($taxonomy); + if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical. + $tags = array_filter($tags); + if ( current_user_can($taxonomy_obj->cap->assign_terms) ) + array_push($tags, $tumblog_items['quotes']); + } + } else { + $tags[0] = $tumblog_items['quotes']; + } + wp_set_post_terms( $post_id, $tags, 'tumblog' ); + } + // DEPRECATED + // } + + break; + case 'audio': + //Create post object + $tumbl_note['post_title'] = $data['audio-title']; + $tumbl_note['post_content'] = $data['tumblog-content']; + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + if ($data['tumblog-status'] != '') { + $tumbl_note['post_status'] = $data['tumblog-status']; + } + //Hours and Mins + $original_hours = (int)$data['original-tumblog-hours']; + $original_mins = (int)$data['original-tumblog-mins']; + $original_date = strtotime($data['original-tumblog-date']); + $posted_date = strtotime($data['tumblog-date']); + $note_hours = (int)$data['tumblog-hours']; + if ($note_hours == 0) { $note_hours = 12; } + elseif ($note_hours >= 24) { $note_hours = 0; } + $note_mins = (int)$data['tumblog-mins']; + if ($note_mins == 0) { $note_mins = 0; } + elseif ($note_mins >= 60) { $note_mins = 0; } + //Convert to Y-m-d H:i:s + //if everything is unchanged + if ( ($note_hours == $original_hours) && ($note_mins == $original_mins) && ($posted_date == $original_date) ) { + $time_now_hours = date_i18n( "H" ); + $time_now_mins = date_i18n( "i" ); + $date_raw = date( "Y").'-'.date( "m").'-'.date( "d").' '.$time_now_hours.':'.$time_now_mins.':00'; + } else { + $date_raw = date( "Y",strtotime($data['tumblog-date'])).'-'.date( "m",strtotime($data['tumblog-date'])).'-'.date( "d",strtotime($data['tumblog-date'])).' '.$note_hours.':'.$note_mins.':00'; + } + $date_formatted = date($php_formatting, strtotime($date_raw)); + $tumbl_note['post_date'] = $date_formatted; + + // DEPRECATED + // } + $tumbl_note['post_author'] = $current_user->ID; + $tumbl_note['tags_input'] = $data['tumblog-tags']; + + // DEPRECATED + //Get Category from Theme Options + /* + if (get_option( 'tumblog_woo_tumblog_upgraded') != 'true') { + $category_id = get_cat_ID( get_option( 'woo_audio_category') ); + $categories = array($category_id); + } else { + $categories = array(); + } + */ + + $categories = array(); + + $post_cat_array = $data['post_category']; + if(empty($post_cat_array)) + { + //Do nothing + } else { + $N = count($post_cat_array); + for($i=0; $i < $N; $i++) { + array_push($categories, $post_cat_array[$i]); + } + } + $tumbl_note['post_category'] = $categories; + //Insert the note into the database + $post_id = wp_insert_post($tumbl_note); + //Add Custom Field Data to the Post + if ($data['audio-id'] > 0) { + $my_post = array(); + $my_post['ID'] = $data['audio-id']; + $my_post['post_parent'] = $post_id; + //Update the post into the database + wp_update_post( $my_post ); + add_post_meta($post_id, $tumblog_custom_fields['audio-url'], $data['audio-upload'], true); + } + else { + add_post_meta($post_id, $tumblog_custom_fields['audio-url'], $data['audio-url'], true); + } + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + if ($content_method == 'post_format') { + set_post_format( $post_id, 'audio' ); + } else { + //update posts taxonomies + $taxonomy_data = $data['tax_input']; + if ( !empty($taxonomy_data) ) { + foreach ( $taxonomy_data as $taxonomy => $tags ) { + $taxonomy_obj = get_taxonomy($taxonomy); + if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical. + $tags = array_filter($tags); + if ( current_user_can($taxonomy_obj->cap->assign_terms) ) + array_push($tags, $tumblog_items['audio']); + } + } else { + $tags[0] = $tumblog_items['audio']; + } + wp_set_post_terms( $post_id, $tags, 'tumblog' ); + } + // DEPRECATED + // } + + break; + default: + break; + } +} + +//Handles AJAX Post +function woo_tumblog_file_upload() { + global $wpdb; + //Upload overrides + $filename = $_FILES['userfile']; // [name] [tmp_name] + $override['test_form'] = false; + $override['action'] = 'wp_handle_upload'; + //Handle Uploaded File + $uploaded_file = wp_handle_upload($filename, $override); // [file] [url] [type] + //Create Attachment Object + $attachment['post_title'] = $filename['name']; //post_title, post_content (the value for this key should be the empty string), post_status and post_mime_type + $attachment['post_content'] = ''; + $attachment['post_status'] = 'inherit'; + $attachment['post_mime_type'] = $uploaded_file['type']; + $attachment['guid'] = $uploaded_file['url']; + //Prepare file attachment + $wud = wp_upload_dir(); // [path] [url] [subdir] [basedir] [baseurl] [error] + $filename_attach = $wud['basedir'].$uploaded_file['file']; + //Insert Attachment + $attach_id = wp_insert_attachment( $attachment, $filename_attach, 0 ); + $attach_data = wp_generate_attachment_metadata( $attach_id, $filename_attach ); + wp_update_attachment_metadata( $attach_id, $attach_data ); + //Handle Errors and Response + if(!empty($uploaded_file['error'])) {echo 'Upload Error: ' . $uploaded_file['error']; } + else { echo $uploaded_file['url'].'|'.$attach_id.'|'; } // Is the Response +} + +/*-----------------------------------------------------------------------------------*/ +/* Dashboard Widget +/*-----------------------------------------------------------------------------------*/ + +// Tumblog Dashboard Widget Output +function woo_tumblog_dashboard_widget_output() { + //security check + if (current_user_can( 'publish_posts')) { + $tumblog_items = array( 'articles' => get_option( 'woo_articles_term_id'), + 'images' => get_option( 'woo_images_term_id'), + 'audio' => get_option( 'woo_audio_term_id'), + 'video' => get_option( 'woo_video_term_id'), + 'quotes' => get_option( 'woo_quotes_term_id'), + 'links' => get_option( 'woo_links_term_id') + ); + ?> + + +
        + +
        "> + + + +
        + +
        + Article + Image + Link + Audio + Video + Quote +
        + +
        +

        +
        + +
        +
        + +
        +

        +
        + +
        +

        + +
        + +
        +

        +
        + +
        + +
        +

        |

        +
        + +
        +
        + +
        + + + +
        +

        +
        + +
        +

        + +

        +
        + +
        +

        +
        + +
        +
        + +
        +

        +
        + +
        + +
        +

        |

        +
        + +
        +
        + +
        + +
        + + + + + + +

        View Advanced Options

        +
        + +
        +

        + + +

        +

        + + + + + @ : + +

        +
        +
        + + + +
        + +
          + $taxonomy ) ); ?> + +
        + +
        +
        + +
        + + + +
        + +
          + $taxonomy ) ); ?> + +
        + +
        +
        + +
        + +
        +

        +
        + +
        +
        + +
        + + +
        + +
        + +
        + + \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/css/colorpicker.css b/src/wp-content/themes/originalhouse/functions/css/colorpicker.css new file mode 100644 index 0000000..8f66acc --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/css/colorpicker.css @@ -0,0 +1,177 @@ +.colorpicker { + width: 356px; + height: 176px; + overflow: hidden; + position: absolute; + background: url(../images/colorpicker/colorpicker_background.png); + font-family: Arial, Helvetica, sans-serif; + display: none; +} +.colorpicker_color { + width: 150px; + height: 150px; + left: 14px; + top: 13px; + position: absolute; + background: #f00; + overflow: hidden; + cursor: crosshair; +} +.colorpicker_color div { + position: absolute; + top: 0; + left: 0; + width: 150px; + height: 150px; + background: url(../images/colorpicker/colorpicker_overlay.png); +} +.colorpicker_color div div { + position: absolute; + top: 0; + left: 0; + width: 11px; + height: 11px; + overflow: hidden; + background: url(../images/colorpicker/colorpicker_select.gif); + margin: -5px 0 0 -5px; +} +.colorpicker_hue { + position: absolute; + top: 13px; + left: 171px; + width: 35px; + height: 150px; + cursor: n-resize; +} +.colorpicker_hue div { + position: absolute; + width: 35px; + height: 9px; + overflow: hidden; + background: url(../images/colorpicker/colorpicker_indic.gif) left top; + margin: -4px 0 0 0; + left: 0px; +} +.colorpicker_new_color { + position: absolute; + width: 60px; + height: 30px; + left: 213px; + top: 13px; + background: #f00; +} +.colorpicker_current_color { + position: absolute; + width: 60px; + height: 30px; + left: 283px; + top: 13px; + background: #f00; +} +.colorpicker input { + background-color: transparent; + border: 1px solid transparent; + position: absolute; + font-size: 10px; + font-family: Arial, Helvetica, sans-serif; + color: #898989; + top: 4px; + right: 11px; + text-align: right; + margin: 0; + padding: 0; + height: 12px; +} +.colorpicker_hex { + position: absolute; + width: 72px; + height: 22px; + background: url(../images/colorpicker/colorpicker_hex.png) top; + left: 212px; + top: 142px; +} +.colorpicker_hex input { + right: 6px; +} +.colorpicker_field { + height: 22px; + width: 62px; + background-position: top; + position: absolute; +} +.colorpicker_field span { + position: absolute; + width: 12px; + height: 22px; + overflow: hidden; + top: 0; + right: 0; + cursor: n-resize; +} +.colorpicker_rgb_r { + background-image: url(../images/colorpicker/colorpicker_rgb_r.png); + top: 52px; + left: 212px; +} +.colorpicker_rgb_g { + background-image: url(../images/colorpicker/colorpicker_rgb_g.png); + top: 82px; + left: 212px; +} +.colorpicker_rgb_b { + background-image: url(../images/colorpicker/colorpicker_rgb_b.png); + top: 112px; + left: 212px; +} +.colorpicker_hsb_h { + background-image: url(../images/colorpicker/colorpicker_hsb_h.png); + top: 52px; + left: 282px; +} +.colorpicker_hsb_s { + background-image: url(../images/colorpicker/colorpicker_hsb_s.png); + top: 82px; + left: 282px; +} +.colorpicker_hsb_b { + background-image: url(../images/colorpicker/colorpicker_hsb_b.png); + top: 112px; + left: 282px; +} +.colorpicker_submit { + position: absolute; + width: 22px; + height: 22px; + background: url(../images/colorpicker/colorpicker_submit.png) top; + left: 322px; + top: 142px; + overflow: hidden; +} +.colorpicker_focus { + background-position: center; +} +.colorpicker_hex.colorpicker_focus { + background-position: bottom; +} +.colorpicker_submit.colorpicker_focus { + background-position: bottom; +} +.colorpicker_slider { + background-position: bottom; +} + +.colorSelector { + position: relative; + width: 27px; + height: 27px; + background: url(../images/colorpicker/select.png); + float:left; +} +.colorSelector div { + position: absolute; + top: 4px; + left: 3px; + width: 21px; + height: 19px; + background: url(../images/colorpicker/select.png) center; +} \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/css/custom_menu.css b/src/wp-content/themes/originalhouse/functions/css/custom_menu.css new file mode 100644 index 0000000..88fbdb4 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/css/custom_menu.css @@ -0,0 +1,160 @@ +.fix{clear: both;height: 1px;margin: -1px 0 0;overflow: hidden;} + + +#no-js {display:block;} + +.maintitle { margin: 0 0 20px 0!important;} + +.logo { vertical-align: middle; margin: 0 10px 0 0; } + +#pages-left { min-width:650px;max-width:1100px;width: 100%; float:left; clear: left; margin-right: -315px; } +#pages-left .inside {margin-top: 20px; margin-right: 315px; } +#nav-container { margin-top: -3px; } + +.sidebar-name { background-color:#AAAAAA; +background-image:url(../../../../../wp-admin/images/ed-bg.gif); +border-color:#DFDFDF; +text-shadow:0 1px 0 #FFFFFF;-moz-border-radius-topleft:8px; +-moz-border-radius-topright:8px; +background-position:0 0; +background-repeat:repeat-x; +border-style:solid; +border-width:1px; +cursor:pointer; +font-size:13px; } + + +.sidebar-name h3 { +font-size:13px; +height:19px; +margin:0; +overflow:hidden; +padding:5px 12px; +white-space:nowrap; +} + +.sidebar-name-arrow { +background:transparent url(../../../../../wp-admin/images/menu-bits.gif) no-repeat scroll left -109px; +float:right; +height:29px; +width:26px; +} + +#menu-right { width: 285px; margin-right: 10px; margin-left: 20px; float:left; clear: right;} +h2.heading { margin: 32px 0 10px 0; } + +.widgets-holder-wrap { margin: 0 0 20px 0; } +.widget-holder { +padding:15px 10px; +-moz-border-radius-bottomleft:8px; +-moz-border-radius-bottomright:8px; +border-style:none solid solid; +border-width:0 1px 1px; +background-color:#F1F1F1; +border-color:#DDDDDD; +} + +.checkboxes { float: right; margin: 10px 12px 0 0; } + +.addtomenu { +display: block; +float: right; +margin: 10px 0 0 0; +text-shadow:0 -1px 0 rgba(0, 0, 0, 0.3); +background:#21759B url(../../../../../wp-admin/images/button-grad.png) repeat-x scroll left top; +border-color:#298CBA !important; +color:#FFFFFF !important; +font-weight:bold; +-moz-border-radius-bottomleft:11px; +-moz-border-radius-bottomright:11px; +-moz-border-radius-topleft:11px; +-moz-border-radius-topright:11px; +border-style:solid; +border-width:1px; +cursor:pointer; +font-size:11px !important; +line-height:16px; +padding:2px 8px; +text-decoration:none; +} + +.list { zoom: 1; } +.list li { margin: 0; } +.list dt { display:none; float: left; width: 260px; margin: 0; padding: 0 0 0 5px; line-height: 30px; border-bottom: 1px solid #e3e3e3; } +.list dt span { float: left; } +.list dt img { cursor: pointer; float: right; margin: 7px 5px 0 0 } + +#nav-container { padding: 0 10px 10px 10px; background-color: #fff; border: 1px solid #DFDFDF; border-top: none; -moz-border-radius-bottomleft:8px; -moz-border-radius-bottomright:8px; } + +#custom-nav ul { width: 100%; } +#custom-nav li { margin: 0; } +.ui-draggable-dragging { width: 500px; } +#custom-nav li dl dt { -webkit-border-bottom-left-radius:6px;-webkit-border-bottom-right-radius:6px;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top-left-radius:6px;border-top-right-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-bottomright:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px; +border:1px solid #E6E6E6;position: relative; padding-left:10px;background-color: #f1f1f1; height: 35px; line-height: 35px; } +#custom-nav li dl dt:hover { cursor: move; } +#custom-nav li dl dt .controls { position: absolute; right: 15px; top: -1px; } +#custom-nav li dl dt img { vertical-align: middle; } +#custom-nav li dl dt a {} +#custom-nav li .title { background:url(../images/ico-arrow.png) no-repeat 4px 5px; padding-left:15px; } +#custom-nav li ul li { margin-left:20px; opacity:.7;} +#custom-nav li ul li ul li { opacity: .9;} +#custom-nav li ul li ul li ul li { opacity: .9;} +#custom-nav li ul li ul li ul li ul li { opacity: .95; } + +#existing-pages li .title { background:url(../images/ico-arrow.png) no-repeat 4px 13px; padding-left:15px; } +#existing-pages li ul li .title { margin-left:10px; } +#existing-pages li ul li ul li .title { margin-left:20px; } +#existing-pages li ul li ul li ul li .title { margin-left:30px; } +#existing-pages li ul li ul li ul li ul li .title { margin-left:40px; } +#existing-pages li ul li ul li ul li ul li ul li .title { margin-left:50px; } +#existing-pages li ul li ul li ul li ul li ul li ul li .title { margin-left:60px; } +#existing-pages li ul li ul li ul li ul li ul li ul li ul li .title { margin-left:70px; } +#existing-pages li ul li ul li ul li ul li ul li ul li ul li ul li .title { margin-left:80px; } + +#existing-categories li .title { background:url(../images/ico-arrow.png) no-repeat 4px 13px; padding-left:15px; } +#existing-categories li ul li .title { margin-left:10px; } +#existing-categories li ul li ul li .title { margin-left:20px; } +#existing-categories li ul li ul li ul li .title { margin-left:30px; } +#existing-categories li ul li ul li ul li ul li .title { margin-left:40px; } +#existing-categories li ul li ul li ul li ul li ul li .title { margin-left:50px; } +#existing-categories li ul li ul li ul li ul li ul li ul li .title { margin-left:60px; } +#existing-categories li ul li ul li ul li ul li ul li ul li ul li .title { margin-left:70px; } +#existing-categories li ul li ul li ul li ul li ul li ul li ul li ul li .title { margin-left:80px; } + + +img.remove, img.edit { cursor: pointer; margin: 0 5px 0 0; } + +.dropzone {height:7px;margin: 3px 0 3px 0;} + +#custom-nav li dl {} + +.hide {display:none;} + +.type { text-transform: uppercase; font-size: 11px; color: #999999; padding-right:10px; } + +#menu_select { width: 170px; } + +#dialog-confirm label { padding-left: 10px; } + +/* EDIT LINK BOX */ +.ui-dialog { background: #fff; border: 1px solid #555555; -moz-box-shadow:0 4px 30px #000000; } +.ui-dialog-titlebar { color: #CFCFCF;font-family:"Lucida Grande",Verdana,Arial,sans-serif; padding: 6px 10px 6px; background-color: #222222!important; border: none!important; -moz-border-radius: none!important; } +#dialog-confirm { height: 168px !important; padding: 20px 10px 10px; } +#dialog-confirm input { margin: 0 0 15px 0; width: 280px; } +#dialog-confirm select { margin: 0 0 15px 0; } +.ui-dialog-buttonpane { padding: 10px; } +.ui-dialog-buttonpane button { margin: 0 10px 0 0; background:#F2F2F2; text-shadow:0 1px 0 #FFFFFF; border-color:#BBBBBB; color:#464646; -moz-border-radius-bottomleft:11px; -moz-border-radius-bottomright:11px; -moz-border-radius-topleft:11px; -moz-border-radius-topright:11px; border-style:solid; border-width:1px; cursor:pointer; font-size:11px !important; line-height:14px; padding:2px 8px; text-decoration:none; } + +.ui-dialog-buttonpane button:hover {color:#000;border-color:#666;} + + + +.ui-icon { display: none; } + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } +.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .60;filter:Alpha(Opacity=60); } +.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .60;filter:Alpha(Opacity=60); -moz-border-radius: 8px; -webkit-border-radius: 8px; } + + +#reset_woo_menu { background:#c77 none !important;color:white!important;text-shadow:0 1px 0 #555 !important;} diff --git a/src/wp-content/themes/originalhouse/functions/css/jquery-ui-datepicker.css b/src/wp-content/themes/originalhouse/functions/css/jquery-ui-datepicker.css new file mode 100644 index 0000000..cdca788 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/css/jquery-ui-datepicker.css @@ -0,0 +1,347 @@ +/* +* jQuery UI CSS Framework +* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +*/ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + + +/* +* jQuery UI CSS Framework +* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px +*/ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; } +.ui-widget-content a { color: #222222; } +.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; } +.ui-widget-header a { color: #222222; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(../images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; outline: none; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; outline: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #999999; background: #dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; outline: none; } +.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; outline: none; } +.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; outline: none; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; outline: none; text-decoration: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; } +.ui-state-error a, .ui-widget-content .ui-state-error a { color: #cd0a0a; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #cd0a0a; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(../images/ui-icons_222222_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(../images/ui-icons_222222_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(../images/ui-icons_222222_256x240.png); } +.ui-state-default .ui-icon { background-image: url(../images/ui-icons_888888_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(../images/ui-icons_454545_256x240.png); } +.ui-state-active .ui-icon {background-image: url(../images/ui-icons_454545_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(../images/ui-icons_2e83ff_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(../images/ui-icons_cd0a0a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; } +.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; } +.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; } +.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; } +.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; } +.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } +.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; }/* Datepicker +----------------------------------*/ +.ui-datepicker { width: 17em; padding: .2em .2em 0; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; } +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +} + +/* Icon Cursor Mouseover */ +img.ui-datepicker-trigger { cursor:pointer; } \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/css/shortcode-generator.css b/src/wp-content/themes/originalhouse/functions/css/shortcode-generator.css new file mode 100644 index 0000000..d621a59 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/css/shortcode-generator.css @@ -0,0 +1,94 @@ +/*----------------------------------------------------------------------------------- + +FILE INFORMATION + +Description: WooThemes shortcode generator CSS. +Date Created: 2011-01-21. +Author: Based on the work of the Shortcode Ninja plugin by VisualShortcodes.com. +Integration and Addons: Matty. +Since: 3.5.0 +Copyright 2010 (c) VisualShortcodes.com + + +TABLE OF CONTENTS + +1. Layout +2. Attributes Table +3. Validation +4. Column Control +5. Form Elements +-5.1 Colour Picker + +-----------------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------------- + 1. Layout +-----------------------------------------------------------------------------------*/ + +#woo-options-buttons { margin: -3px -15px 0; background: #EDEDED; padding: 12px 20px 8px; border-bottom: 1px solid #ddd; } +#woo-options {float: left; width: 380px; margin-right: 20px; position: relative; z-index: 2; } +#woo-options.shortcode-related, #woo-options.shortcode-column, #woo-options.shortcode-tab { width: 100%; } +#woo-options h3, #woo-preview h3, #woo-options-error h3 { border-bottom: 1px solid #E7E7E7; font-size: 13px; margin: 10px 0; padding: 7px 0; } +#woo-preview { width: 225px; position: relative; z-index: 2; } +#woo-preloader { position: absolute; } +.woo-loading { background: url( "../images/loading-bottom.gif") no-repeat scroll right center transparent; padding-right: 15px; } +#woo-options.shortcode-contactform { width: 100%; display: block; } +#woo-preview.shortcode-contactform { width: 100%; margin-top: -20px; display: block; } +#woo-preview.shortcode-contactform iframe { height: 530px!important; } + +/*----------------------------------------------------------------------------------- + 2. Attributes Table +-----------------------------------------------------------------------------------*/ + +#woo-options-table { border: 0px solid #DFDFDF; width: 100%; margin-bottom: 8px; } +#woo-options-table th { padding-top: 0.2em; } +#woo-options.shortcode-column th, #woo-options.shortcode-tab th { width: 20px; vertical-align: top; } +#woo-options-table td { vertical-align: middle; padding: 0 5px 10px 0; } +.woo-input-help { font-size: 11px; color: #999; font-style: italic; font-family: sans-serif; display: block; clear: both; } +.woo-input-help p { margin: 0; color: #888; font-size: 11px; } +abbr.woo-required { color: #FF0000; } + +/*----------------------------------------------------------------------------------- + 3. Validation +-----------------------------------------------------------------------------------*/ + +#woo-options-error p { margin: 0; } +#woo-options-error h4 { margin: 1.33em 0 0.8em 0; } +input.woo-required {} +.woo-validating { background: url( "../images/loading-bottom.gif") no-repeat scroll right center transparent; padding-right: 18px; } +.woo-validated { background: url( "../images/happy.png") no-repeat scroll right center transparent; padding-right: 15px; } +.woo-validation-error { background: url( "../images/ico-alert.png") no-repeat scroll right center transparent; padding-right: 15px; } + +/*----------------------------------------------------------------------------------- + 4. Column Control +-----------------------------------------------------------------------------------*/ + +div.column-button { border: 1px solid #333333; width: 100px; margin: 4px 0; text-align: center; } +input.column-button[disabled], input.column-button[disabled]:hover { background-color: #fff !important; color: #aaa; border: 1px solid #eee; } +input.column-button { float: left; clear: left; margin-top: 2px; border: 1px solid #777777; background-color: #EEEEEE !important; } +.rounded5p { -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; } +#woo-column-text { border: 1px solid #AAAAAA; font-size: 22px; font-family: Sans-serif; padding: 5px 40px 5px 5px; } + +/*----------------------------------------------------------------------------------- + 5. Form Elements +-----------------------------------------------------------------------------------*/ + +#woo-options input[type=text], #woo-options select { margin-bottom: 4px; border-color: #CCCCCC #EEEEEE #EEEEEE #CCCCCC; border-style: solid; border-width: 1px; background-color: #FAFAFA; font-family: "Lucida Grande",Verdana,sans-serif;height: 28px; width: 280px; color: #555555; font-size: 12px; } +#woo-options.shortcode-related input[type=text] { width: 560px; } +#woo-options.shortcode-contactform label { width: 130px; } +#woo-options.shortcode-column label {} +#woo-options.shortcode-contactform input[type=text] { width: 483px; } +#woo-options input[type=text] { padding: 5px; -moz-border-radius: 4px 4px 4px 4px; } +#woo-options select { cursor: pointer; opacity: 0; padding: 0; position: relative; z-index: 4; padding: 5px; } +#woo-options-table label { width: 89px; text-align: right; padding: 6px 6px 0 0; font-weight: bold; font-size: 11px; line-height: 12px; color: #333333; display: block; } +label.woo-required span.required {padding: 0 0 0 2px; margin-top: -4px; font-size: smaller; color: #FF0000; } +#woo-options .select_wrapper { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; font-family: "Lucida Grande","Lucida Sans Unicode",Arial,Verdana,sans-serif; font-size: 12px; background: #fafafa url(../images/select.png) no-repeat right center; border-color: #ccc #eee #eee #ccc; border-style: solid; border-width: 1px; float: left; height: 26px; width: 280px; margin: 0 0 4px; display: block; } +#woo-options .select_wrapper span { height: 26px; line-height: 26px; padding-left: 6px; position: absolute; z-index: 2; } + +/*----------------------------------------------------------------------------------- + -5.1 Colour Picker +-----------------------------------------------------------------------------------*/ + +#woo-options .woo-marker-colourpicker-control .colorSelector { margin-top: 1px; } +#woo-options .woo-marker-colourpicker-control input.input-colourpicker { float: right; width: 248px; } +#woo-options .woo-marker-colourpicker-control br { clear: both; } \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/css/shortcodes.css b/src/wp-content/themes/originalhouse/functions/css/shortcodes.css new file mode 100644 index 0000000..42f0261 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/css/shortcodes.css @@ -0,0 +1,548 @@ +/*----------------------------------------------------------------------------------- + +TABLE OF CONTENTS: + +1. Info Boxes +2. Buttons +3. Columns +4. Tweetmeme +5. Twitter +6. Digg +7. Related Posts +8. Horizontal Rule +9. Quote +10. Icon Links +11. Facebook +12. Contact Form +13. Tabber +-13.1 Tabber Alternate Style - Boxed +-13.2 Tabber Alternate Style - Vertical +14. Dropcap +15. Content Toggle +-15.1 Toggle Alternate Style - White +16. Highlight and Abbreviation +17. List Styles - Unordered List +18. List Styles - Ordered List +19. Social Icon + +-----------------------------------------------------------------------------------*/ + +/*-------------------------------------------------------------------------------------------*/ +/* 1. Info Boxes */ +/*-------------------------------------------------------------------------------------------*/ +p.woo-sc-box, div.woo-sc-box {margin:1em 0 1.5em 0; padding:9px 10px 9px 50px; border-width:1px 0 1px 0; border-style:solid;color:#555;text-shadow:none;} +.woo-sc-box.none {border-width:0;} +.woo-sc-box.full {border-width:1px;} +.woo-sc-box.medium {padding:18px 20px 18px 50px; font-size:1.1em;} +.woo-sc-box.large {padding:25px 27px 25px 50px; font-size:1.2em; } +.woo-sc-box.rounded { -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; } +.woo-sc-box.alert { border-color:#f0baa2; background:#ffd9c8 url(../images/ico-alert.png) no-repeat 20px 45%; } +.woo-sc-box.download { border-color:#d4ebaf; background:#edfcd5 url(../images/ico-download.png) no-repeat 20px 45%; } +.woo-sc-box.tick { border-color:#d4ebaf; background:#edfcd5 url(../images/ico-tick.png) no-repeat 20px 45%; } +.woo-sc-box.info { border-color:#ccc; background:#eee url(../images/ico-info.png) no-repeat 20px 45%; } +.woo-sc-box.note { border-color:#efe3ae; background:#fef6d2 url(../images/ico-note.png) no-repeat 20px 45%; } +.woo-sc-box.normal { border-color:#ccc; background:#eee; padding:9px 15px;} + + +/*-------------------------------------------------------------------------------------------*/ +/* 2. Buttons */ +/*-------------------------------------------------------------------------------------------*/ +a.woo-sc-button { + font-family: sans-serif; + display: inline-block; + line-height: 1em; + padding: 6px 13px; + margin:0 .6em 1.5em 0; + border: 1px solid #4081af; + border-bottom-color: #20559a; + color: white !important; + text-align: center; + text-shadow: 0 -1px 0 hsla(0,0%,0%,.3); + text-decoration: none !important; + + /*Border radius*/ + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; + + /*Background*/ + background-color: #237fd7; /*Fallback*/ + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(.2, #52a8e8), + color-stop(1, #2e76cf) + ); + background: -moz-linear-gradient( + center top, + #52a8e8 20%, + #2e76cf 100% + ); + + /*Box shadow*/ + -webkit-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; + -moz-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; + box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; +} + +a.woo-sc-button.small { padding:2px 10px; font-size:0.9em;} +a.woo-sc-button.large { padding:7px 16px; font-size:1.4em;} +a.woo-sc-button.xl { padding:9px 20px; font-size:1.8em;} + +a.woo-sc-button:hover, +a.woo-sc-button.hover, +a.woo-sc-button.active { + text-decoration: none !important; + /*Background*/ + background: #0073d2; /*Fallback*/ + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(.2, #3e9ee5), + color-stop(1, #1666ca) + ); + background: -moz-linear-gradient( + center top, + #3e9ee5 20%, + #1666ca 100% + ); +} + +a.woo-sc-button:active, +a.woo-sc-button.active { + border-color: #20559a; + + /*Box shadow*/ + -webkit-box-shadow: inset 0 0 7px hsla(0,0%,0%,.3) /*Shine*/, + 0 1px 0 hsla(0, 100%, 100%, 1) /*Shadow*/; + -moz-box-shadow: inset 0 0 7px hsla(0,0%,0%,.3) /*Shine*/, + 0 1px 0 hsla(0, 100%, 100%, 1) /*Shadow*/; + box-shadow: inset 0 0 7px hsla(0,0%,0%,.3) /*Shine*/, + 0 1px 0 hsla(0, 100%, 100%, 1) /*Shadow*/; +} + +a.woo-sc-button.dark span { color:#555; text-shadow:0 1px #fff;} +a.woo-sc-button.custom:hover { opacity:0.85; } + +a.woo-sc-button span { line-height:1.2em; min-height: 16px; } +a.woo-sc-button span.woo-info { background:url( "../images/ico-info.png") no-repeat 0 45%; padding-left:25px; display:block; } +a.woo-sc-button span.woo-download { background:url( "../images/ico-download.png") no-repeat 0 45%; padding-left:25px; display:block; } +a.woo-sc-button span.woo-tick { background:url( "../images/ico-tick.png") no-repeat 0 45%; padding-left:25px; display:block; } +a.woo-sc-button span.woo-note { background:url( "../images/ico-note.png") no-repeat 0 45%; padding-left:25px; display:block; } +a.woo-sc-button span.woo-alert { background:url( "../images/ico-alert.png") no-repeat 0 45%; padding-left:25px; display:block; } + +a.woo-sc-button.red { + border-color: #af4040; border-bottom-color: #9a2020; background-color: #d72323; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e85252),color-stop(1, #cf2e2e)); + background: -moz-linear-gradient(center top,#e85252 20%,#cf2e2e 100%); +} +a.woo-sc-button.red:hover { + background: #d20000; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e53e3e),color-stop(1, #ca1616)); + background: -moz-linear-gradient(center top,#e53e3e 20%,#ca1616 100%); +} + +a.woo-sc-button.orange { + border-color: #af7440; border-bottom-color: #9a5420; background-color: #d76b23; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e88e52),color-stop(1, #cf6e2e)); + background: -moz-linear-gradient(center top,#e88e52 20%,#cf6e2e 100%); +} +a.woo-sc-button.orange:hover { + background: #d25e00; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e57d3e),color-stop(1, #ca5116)); + background: -moz-linear-gradient(center top,#e57d3e 20%,#ca5116 100%); +} + +a.woo-sc-button.green { + border-color: #87bf00; border-bottom-color: #7ca122; background-color: #8dc11e; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #ace53e),color-stop(1, #8dca16)); + background: -moz-linear-gradient(center top,#ace53e 20%,#6bca16 100%); +} +a.woo-sc-button.green:hover { + background: #87c000; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #a0d53a),color-stop(1, #60b513)); + background: -moz-linear-gradient(center top,#a0d53a 20%,#60b513 100%); +} + +a.woo-sc-button.aqua { + border-color: #40af96; border-bottom-color: #209a82; background-color: #23d7af; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #52e8c6),color-stop(1, #2ecfab)); + background: -moz-linear-gradient(center top,#52e8c6 20%,#2ecfab 100%); +} +a.woo-sc-button.aqua:hover { + background: #00d2a8; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #3ee5c0),color-stop(1, #16ca9e)); + background: -moz-linear-gradient(center top,#3ee5c0 20%,#16ca9e 100%); +} + +a.woo-sc-button.teal { + border-color: #23a6d6; border-bottom-color: #20799a; background-color: #23abd7; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #52c3e8),color-stop(1, #2eabcf)); + background: -moz-linear-gradient(center top,#52c3e8 20%,#2eabcf 100%); +} +a.woo-sc-button.teal:hover { + background: #009ed2; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #3ebce5),color-stop(1, #16a2ca)); + background: -moz-linear-gradient(center top,#3ebce5 20%,#16a2ca 100%); +} + +a.woo-sc-button.purple { + border-color: #234dd6; border-bottom-color: #20489a; background-color: #2356d7; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #526ee8),color-stop(1, #2e58cf)); + background: -moz-linear-gradient(center top,#526ee8 20%,#2e58cf 100%); +} +a.woo-sc-button.purple:hover { + background: #0036d2; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #3e5ae5),color-stop(1, #1638ca)); + background: -moz-linear-gradient(center top,#3e5ae5 20%,#1638ca 100%); +} + +a.woo-sc-button.pink { + border-color: #d623cb; border-bottom-color: #9a2096; background-color: #d723d5; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e852e6),color-stop(1, #cd2ecf)); + background: -moz-linear-gradient(center top,#e852e6 20%,#cd2ecf 100%); +} +a.woo-sc-button.pink:hover { + background: #bc00d2; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #c83ee5),color-stop(1, #ae16ca)); + background: -moz-linear-gradient(center top,#c83ee5 20%,#ae16ca 100%); +} + +a.woo-sc-button.silver { + color: #444 !important; + text-shadow:0 1px #fff; + border-color: #bbb; border-bottom-color: #999; background-color: #d8d8d8; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e9e9e9),color-stop(1, #ccc)); + background: -moz-linear-gradient(center top,#e9e9e9 20%,#ccc 100%); +} +a.woo-sc-button.silver:hover { + background: #ccc; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e0e0e0),color-stop(1, #bebebe)); + background: -moz-linear-gradient(center top,#e0e0e0 20%,#bebebe 100%); +} + + +/*-------------------------------------------------------------------------------------------*/ +/* 3. Columns */ +/*-------------------------------------------------------------------------------------------*/ +.twocol-one{width:48%;} +.threecol-one{width:30.66%;} +.threecol-two{width:65.33%;} +.fourcol-one{width:22%;} +.fourcol-two{width:48%;} +.fourcol-three{width:74%;} +.fivecol-one{width:16.8%;} +.fivecol-two{width:37.6%;} +.fivecol-three{width:58.4%;} +.fivecol-four{width:67.2%;} +.sixcol-one{width:13.33%;} +.sixcol-two{width:30.66%;} +.sixcol-three{width:47.99%;} +.sixcol-four{width:65.33%;} +.sixcol-five{width:82.67%;} +.twocol-one,.threecol-one,.threecol-two,.fourcol-one,.fourcol-two,.fourcol-three,.fivecol-one,.fivecol-two,.fivecol-three,.fivecol-four,.sixcol-one,.sixcol-two,.sixcol-three,.sixcol-four,.sixcol-five{float:left;margin-right:4%;position:relative;} +.last{clear:right;margin-right:0 !important;} + + +/*-------------------------------------------------------------------------------------------*/ +/* 4. Tweetmeme */ +/*-------------------------------------------------------------------------------------------*/ +.woo-tweetmeme.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-tweetmeme.none { margin:0 0 1.5em 0; } +.woo-tweetmeme.right { margin:0 0 1.5em 1.5em; float:right; } + +/*-------------------------------------------------------------------------------------------*/ +/* 5. Twitter */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-twitter.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-sc-twitter.none { margin:0 0 1.5em 0; } +.woo-sc-twitter.right { margin:0 0 1.5em 1.5em; float:right; } + +/*-------------------------------------------------------------------------------------------*/ +/* 6. Digg */ +/*-------------------------------------------------------------------------------------------*/ +.woo-digg.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-digg.none { margin:0 0 1.5em 0; } +.woo-digg.right { margin:0 0 1.5em 1.5em; float:right; } + +/*-------------------------------------------------------------------------------------------*/ +/* 7. Related posts */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-related-posts .thumbnail { float:left; margin:0 1em 1em 0;} +.woo-sc-related-posts li { clear:both; } + +/*-------------------------------------------------------------------------------------------*/ +/* 8. Horizontal Rule */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-hr { border-bottom:1px solid #e6e6e6; } +.woo-sc-hr, .woo-sc-divider { clear:both; display:block; margin-bottom:20px; padding-top:20px; width:100%; } +.woo-sc-divider.flat { padding:0; margin:0; } + +/*-------------------------------------------------------------------------------------------*/ +/* 9. Quote */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-quote p { margin: 1em 20px; padding: 0 0 0 55px; background: url(../images/quote.png) no-repeat 0 3px; font-family: serif; font-size: 1.2em; font-style: italic; color:#777; min-height: 32px; } +.woo-sc-quote.left { float:left; width:30%;} +.woo-sc-quote.right { float:right; width:30%;} +.woo-sc-quote.boxed { background: #f5f5f5; border-radius:6px;-moz-border-radius:6px;-webkit-border-radius:6px;} +.woo-sc-quote.boxed.left { margin: 0 1.5em 1em 0;} +.woo-sc-quote.boxed.right { margin: 0 0 1em 1.5em;} + +/*-------------------------------------------------------------------------------------------*/ +/* 10. Icon Links */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-ilink { padding:0 0.3em; } +.woo-sc-ilink a { padding-left:20px; text-decoration: underline; display: inline-block; } +.woo-sc-ilink a:hover { text-decoration: none; } +.woo-sc-ilink .download { background: url(../images/ico-download.png) no-repeat left 40%; } +.woo-sc-ilink .tick { background: url(../images/ico-tick.png) no-repeat left 40%; } +.woo-sc-ilink .info { background: url(../images/ico-info.png) no-repeat left 40%; } +.woo-sc-ilink .note { background: url(../images/ico-note.png) no-repeat left 40%; } +.woo-sc-ilink .alert { background: url(../images/ico-alert.png) no-repeat left 40%; } + +/*-------------------------------------------------------------------------------------------*/ +/* 11. Facebook */ +/*-------------------------------------------------------------------------------------------*/ +.woo-fbshare.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-fbshare.none { margin:0 0 1.5em 0; } +.woo-fbshare.right { margin:0 0 1.5em 1.5em; float:right; } + +.woo-fblike.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-fblike.none { margin:0 0 1.5em 0; } +.woo-fblike.right { margin:0 0 1.5em 1.5em; float:right; } + +/*-------------------------------------------------------------------------------------------*/ +/* 12. Contact Form */ +/*-------------------------------------------------------------------------------------------*/ + +.contact-form .screenReader { left: -9999px; position: absolute; top: -9999px; } +.contact-form .forms {float:left;list-style:none;width:100%;margin:10px 0 0;} +.contact-form .forms p {clear:both;float:left;margin-bottom:18px;position:relative;width:100%} +.contact-form .forms label{cursor:pointer;display:block;float:left;font-weight:700;padding-right:20px;width:100px;} +.contact-form .forms input.txt{width:214px;} +.contact-form .forms input#sendCopy{border:none;} +.contact-form .forms textarea{height:300px;width:400px;} +.contact-form .forms .error{font-size:12px;display:block;margin-left:120px;color:red;} +.contact-form .forms .textarea .error{display:block; margin-left:120px} +.contact-form .forms .screenReader{margin-bottom:0;} +.contact-form .forms .buttons .submit{margin: 15px 0 0 120px; cursor:pointer; } +.contact-form .forms .inline input{width:auto;margin-left:120px;} +.contact-form .forms .inline label{display:inline;float:none;width:auto;} +.entry .contact-form ol.forms li { list-style: none; } /* Added to accomodate the contact form shortcode */ + +.contact-form .submit { + display: inline-block; + margin: 5px; + padding: 3px 13px; + border: 1px solid #4081af; + border-bottom-color: #20559a; + color: white !important; + text-align: center; + text-shadow: 0 -1px 0 hsla(0,0%,0%,.3); + text-decoration: none; + + /*Border radius*/ + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; + + /*Background*/ + background: #237fd7; /*Fallback*/ + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(.2, #52a8e8), + color-stop(1, #2e76cf) + ); + background: -moz-linear-gradient( + center top, + #52a8e8 20%, + #2e76cf 100% + ); + + /*Box shadow*/ + -webkit-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; + -moz-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; + box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; +} + +.contact-form .submit:hover { + text-decoration: none !important; + /*Background*/ + background: #0073d2; /*Fallback*/ + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(.2, #3e9ee5), + color-stop(1, #1666ca) + ); + background: -moz-linear-gradient( + center top, + #3e9ee5 20%, + #1666ca 100% + ); +} + +/*-------------------------------------------------------------------------------------------*/ +/* 13. Tabber */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-tabs { background:#f0f0f0; background:rgba(0,0,0,.05); clear: both; height:auto; display: block; padding:5px; margin-bottom:30px; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; } +.shortcode-tabs ul.tab_titles { padding:0px; background:none; border:none; margin:0;} +.shortcode-tabs ul.tab_titles li.nav-tab { background:none; padding:0; float: left; display:inline; color: #ffffff; margin:0px; cursor: pointer; } +.shortcode-tabs ul.tab_titles li.nav-tab.ui-tabs-selected a, .shortcode-tabs ul.tab_titles li.nav-tab a:hover { background:#fff; text-decoration:none; } +.shortcode-tabs ul.tab_titles li.nav-tab a { color:#777; display: block;float: left;padding: 8px; text-transform:uppercase; font:11px/18px sans-serif; } +.shortcode-tabs ul.tab_titles li.nav-tab.ui-tabs-selected a, .shortcode-tabs ul.tab_titles li.nav-tab a:hover { -moz-border-radius-topright:3px; -moz-border-radius-topleft:3px;-webkit-border-top-right-radius: 3px; -webkit-border-top-left-radius:3px; border-top-right-radius:3px; border-top-left-radius:3px; } +.shortcode-tabs .tab { background:#fff; padding:10px; text-align: left; clear: both; } +.shortcode-tabs .tab li.nav-tab { background:#fff; } +.shortcode-tabs .tab ul.tab_titles { margin:0; border: 1px solid #e6e6e6; border-width:1px 0 1px 0; } +.shortcode-tabs .tab li.nav-tab { border:1px solid #e6e6e6; border-width:0 1px 1px 1px; padding:10px; } +.shortcode-tabs .tab li.nav-tab a { color:#555; font:bold 12px/18px sans-serif; } +.shortcode-tabs .tab a:hover {} +.shortcode-tabs .ui-tabs-hide { display: none; } + +/*-------------------------------------------------------------------------------------------*/ +/* -13.1 Tabber Alternate Style - Boxed */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-tabs.boxed { background: #FFFFFF; } + .shortcode-tabs.boxed ul.tab_titles { clear: both; float: left; background:none; border:none; border-left: 1px solid #EBEBEB; margin-bottom: 0px; position: relative; z-index: 2; } + .shortcode-tabs.boxed ul.tab_titles li { background:none; padding:0; border-top: 1px solid #EBEBEB; border-right: 1px solid #EBEBEB; } + .shortcode-tabs.boxed ul.tab_titles li.ui-state-active { border-bottom: 1px solid #FFFFFF; } + .shortcode-tabs.boxed .tab { border: 1px solid #EBEBEB; top: -2px; position: relative; z-index: 1; } + +/*-------------------------------------------------------------------------------------------*/ +/* -13.2 Tabber Alternate Style - Vertical */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-tabs.vertical { background: #FFFFFF; } + .shortcode-tabs.vertical .tab_header { border: 1px solid #F0F0F0; border-bottom: 0px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; width: 25%; float: left; margin-bottom: -5px; color:#555; font:bold 12px/18px sans-serif; } + .shortcode-tabs.vertical .tab_header { + + /* Gradient Background */ + background: #f5f5f5; + background: -moz-linear-gradient(100% 100% 90deg, #f5f5f5, #fff); + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#f5f5f5)); + + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + -moz-border-radius-bottomright: 0px; + -moz-border-radius-bottomleft: 0px; + -webkit-border-bottom-left-radius: 0px; + -webkit-border-bottom-right-radius: 0px; + + } + .shortcode-tabs.vertical .tab_header span { display: block; padding: 8px 8px 12px 8px; border: 1px solid #EBEBEB; } + .shortcode-tabs.vertical ul.tab_titles { clear: left; float: left; background:none; border: 1px solid #F0F0F0; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; margin-bottom: 0px; position: relative; z-index: 2; width: 25%; } + .shortcode-tabs.vertical ul.tab_titles.has_title { border-top: 0px !important; margin-top: 5px; } + .shortcode-tabs.vertical ul.tab_titles.has_title { + + border-top-left-radius: 0px; + border-top-right-radius: 0px; + -moz-border-radius-topright: 0px; + -moz-border-radius-topkeft: 0px; + -webkit-border-top-left-radius: 0px; + -webkit-border-top-right-radius: 0px; + + } + .shortcode-tabs.vertical ul.tab_titles li { clear: both; background:none; padding:0; border-bottom: 1px solid #EBEBEB; border-left: 1px solid #EBEBEB; border-right: 1px solid #EBEBEB; display: block !important; float: none !important; } + .shortcode-tabs.vertical ul.tab_titles li.ui-state-active {} + .shortcode-tabs.vertical ul.tab_titles li.ui-state-active a { background: #F0F0F0; background: rgba(0,0,0,.05); } + .shortcode-tabs.vertical ul.tab_titles li a:link { display: block; float: none !important; } + .shortcode-tabs.vertical ul.tab_titles li a:hover { background: #F0F0F0; background: rgba(0,0,0,.05); } + .shortcode-tabs.vertical .tab { clear: right !important; top: 5px; position: relative; z-index: 1; margin-left: 30%; padding: 0px; } + +/*-------------------------------------------------------------------------------------------*/ +/* 14. Dropcap */ +/*-------------------------------------------------------------------------------------------*/ + +span.dropcap { font-size: 300%; font-weight: bold; float: left; position: relative; margin:5px 7px 0 0; line-height: 0.7em; } + +/*-------------------------------------------------------------------------------------------*/ +/* 15. Content Toggle */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-toggle { margin: 0 0 1.2em;} +.shortcode-toggle h4 {margin: 0;} +.shortcode-toggle h4 a { display: block; padding: 3px 0 3px 10px; background: #f3f3f3 url(../images/shortcode-toggle-close.png) no-repeat 99% center; } +.shortcode-toggle.closed h4 a { background-image: url(../images/shortcode-toggle-open.png); } +.shortcode-toggle .toggle-content { padding: 10px 10px; background: #f9f9f9; } +.shortcode-toggle.closed .toggle-content, .shortcode-toggle .more-text.closed { display: none; } +.shortcode-toggle .more-text.open { display: block; } +.shortcode-toggle.border { border: 1px solid #EBEBEB; } + +/*-------------------------------------------------------------------------------------------*/ +/* -15.1 Content Toggle Alternate Style - White */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-toggle.white h4 a { background-color: #FFFFFF; } +.shortcode-toggle.white .toggle-content { background-color: #FFFFFF; } + +/*-------------------------------------------------------------------------------------------*/ +/* 16. Highlight and Abbreviation */ +/*-------------------------------------------------------------------------------------------*/ + +span.shortcode-highlight { background: #FFFFAA; padding: 3px 3px 1px; } + +abbr { border-bottom: 1px dashed #999999; cursor: help; } + +/*-------------------------------------------------------------------------------------------*/ +/* 17. List Styles - Unordered List */ +/*-------------------------------------------------------------------------------------------*/ + +.entry .shortcode-unorderedlist ul li, .shortcode-unorderedlist ul li, .entry .shortcode-unorderedlist ul li ul, .shortcode-unorderedlist ul li ul { + list-style-type: none; + padding-left:25px; + background: url() no-repeat scroll left top; +} + +.entry .shortcode-unorderedlist.tick ul li, .shortcode-unorderedlist.tick ul li { background: url(../images/shortcode-tick.png) no-repeat left top; } +.entry .shortcode-unorderedlist.red-x ul li, .shortcode-unorderedlist.red-x ul li { background: url(../images/shortcode-red-x.png) no-repeat left top; } +.entry .shortcode-unorderedlist.bullet ul li, .shortcode-unorderedlist.bullet ul li { background: url(../images/shortcode-bullet.png) no-repeat left top; } +.entry .shortcode-unorderedlist.green-dot ul li, .shortcode-unorderedlist.green-dot ul li { background: url(../images/shortcode-green-dot.png) no-repeat left top; } +.entry .shortcode-unorderedlist.arrow ul li, .shortcode-unorderedlist.arrow ul li { background: url(../images/shortcode-arrow.png) no-repeat left top; } +.entry .shortcode-unorderedlist.star ul li, .shortcode-unorderedlist.star ul li { background: url(../images/shortcode-star.png) no-repeat left top; } + +/*-------------------------------------------------------------------------------------------*/ +/* 18. List Styles - Ordered List */ +/*-------------------------------------------------------------------------------------------*/ + +.entry .shortcode-orderedlist ol li, .entry .shortcode-orderedlist ol li ol, .shortcode-orderedlist ol li { + list-style-type: none; + margin-left: 25px; + background: url() no-repeat scroll left top; +} + +.entry .shortcode-orderedlist.armenian ol li, .shortcode-orderedlist.armenian ol li { list-style-type: armenian; } +.entry .shortcode-orderedlist.decimal ol li, .shortcode-orderedlist.decimal ol li { list-style-type: decimal; } +.entry .shortcode-orderedlist.decimal-leading-zero ol li, .shortcode-orderedlist.decimal-leading-zero ol li { list-style-type: decimal-leading-zero; } +.entry .shortcode-orderedlist.georgian ol li, .shortcode-orderedlist.georgian ol li { list-style-type: georgian; } +.entry .shortcode-orderedlist.lower-alpha ol li, .shortcode-orderedlist.lower-alpha ol li { list-style-type: lower-alpha; } +.entry .shortcode-orderedlist.lower-greek ol li, .shortcode-orderedlist.lower-greek ol li { list-style-type: lower-greek; } +.entry .shortcode-orderedlist.lower-latin ol li, .shortcode-orderedlist.lower-latin ol li { list-style-type: lower-latin; } +.entry .shortcode-orderedlist.lower-roman ol li, .shortcode-orderedlist.lower-roman ol li { list-style-type: lower-roman; } +.entry .shortcode-orderedlist.upper-alpha ol li, .shortcode-orderedlist.upper-alpha ol li { list-style-type: upper-alpha; } +.entry .shortcode-orderedlist.upper-latin ol li, .shortcode-orderedlist.upper-latin ol li { list-style-type: upper-latin; } +.entry .shortcode-orderedlist.upper-roman ol li, .shortcode-orderedlist.upper-roman ol li { list-style-type: upper-roman; } + +/*-------------------------------------------------------------------------------------------*/ +/* 19. Social Icon */ +/*-------------------------------------------------------------------------------------------*/ + +img.social-icon { border: none; } \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/css/tumblog.css b/src/wp-content/themes/originalhouse/functions/css/tumblog.css new file mode 100644 index 0000000..9a25114 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/css/tumblog.css @@ -0,0 +1,146 @@ +/* +* Tumblog CSS +*/ + +/* Editor Styling +----------------------------------*/ + +#tumblog-menu { margin: 10px 0 0; padding: 0 0 0 0; } +#tumblog-menu a { margin: 0 5px 5px 0; background-color: #f1f1f1!important; border:1px solid #dcdcdc; line-height: 40px; padding: 6px 10px 6px 0; -moz-border-radius-bottomleft:4px; -moz-border-radius-bottomright:4px; -moz-border-radius-topleft:4px; -moz-border-radius-topright:4px; } +#tumblog-menu a:hover { background-color: #e7e7e7!important; } +#tumblog-menu #articles-menu-button { padding-left: 33px; background: url(../images/btn-tumblog-note.png) no-repeat 10px center; } +#tumblog-menu #images-menu-button { padding-left: 39px; background: url(../images/btn-tumblog-image.png) no-repeat 10px center; } +#tumblog-menu #links-menu-button { padding-left: 44px; background: url(../images/btn-tumblog-link.png) no-repeat 10px center; } +#tumblog-menu #audio-menu-button { padding-left: 28px; background: url(../images/btn-tumblog-audio.png) no-repeat 10px center; } +#tumblog-menu #videos-menu-button { padding-left: 36px; background: url(../images/btn-tumblog-video.png) no-repeat 10px center; } +#tumblog-menu #quotes-menu-button { padding-left: 41px; background: url(../images/btn-tumblog-quote.png) no-repeat 10px center; } +#tumblog-menu #chat-menu-button { padding-left: 26px; display: none; } + +#tumblog-post { position: relative; } +#tumblog-post h4 { font-family: "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif; font-weight: bold; } +#article-fields, #video-fields, #image-fields, #link-fields, #audio-fields, #quote-fields, #tag-fields { margin: 15px 0 0 0; } +#article-fields input, #video-fields input, #image-fields input, #link-fields input, #audio-fields input, #quote-fields input, +#article-fields textarea, #video-fields textarea, #image-fields textarea, #link-fields textarea, #audio-fields textarea, #quote-fields textarea, #tag-fields input { +margin: 4px 0 13px 0; cursor: pointer; +-moz-border-radius-bottomleft:4px; +-moz-border-radius-bottomright:4px; +-moz-border-radius-topleft:4px; +-moz-border-radius-topright:4px; border: 1px solid #DFDFDF!important; +width: 100%; } + +#article-fields input, #video-fields input, #image-fields input, #link-fields input, #audio-fields input, #quote-fields input, #tag-fields input { padding-top: 6px; padding-bottom: 3px; } + +#tumblog-post h4 label { padding: 0 20px 0 0; } +#tumblog-post h4 #image-url-button, #tumblog-post h4 #image-upload-button, #tumblog-post h4 #audio-url-button, #tumblog-post h4 #audio-upload-button { padding: 0 0 0 20px; font-family: Georgia, serif; font-style: italic; font-weight: normal;} + +#ajax-loader { position: absolute; top: 10px; right: 10px; } +#tumblog-post .error { display: block; padding-top: 8px; padding-bottom: 8px; font-weight: bold; } +#tumblog-post .success { -moz-border-radius-bottomleft:3px; +-moz-border-radius-bottomright:3px; +-moz-border-radius-topleft:3px; +-moz-border-radius-topright:3px; background-color: #c5f0bf; border: 1px solid #2b931d; display: block; padding-left: 10px; padding-top: 8px; padding-bottom: 8px; font-weight: bold; } + +#content-fields { margin: 0 0 10px 0; } + +#image_upload_button, #audio_upload_button { +cursor: pointer!important; width: 200px!important; +} + +.hide-fields { +display: none; +} + +#quicktags { +background-color:#DFDFDF; +border-color:#DFDFDF; +} +#ed_toolbar input { +border-color:#C3C3C3; +} +#ed_toolbar input:hover { +-moz-background-clip:border; +-moz-background-inline-policy:continuous; +-moz-background-origin:padding; +background:#DDDDDD none repeat scroll 0 0; +border-color:#AAAAAA; +} +#content-fields .wp_themeSkin .mceStatusbar { +border-color:#EDEDED; +} +#content-fields #edButtonPreview, #content-fields #edButtonHTML { +background-color:#F1F1F1; +border-color:#DFDFDF; +color:#999999; +} +#content-fields #editor-toolbar .active { +background-color:#E9E9E9; +border-bottom-color:#E9E9E9; +color:#333333; +} + +#content-fields #add-media-button { +float:right; +margin:7px 0 0; +position:relative; +right:10px; +} +#content-fields #editor-toolbar { +height:30px; +} +.wp_themeSkin tr.mceFirst td.mceToolbar { +border-style:none none solid; +border-width:0 0 1px; +} +#edButtonPreview, #edButtonHTML { +-moz-border-radius-bottomleft:0; +-moz-border-radius-bottomright:0; +-moz-border-radius-topleft:3px; +-moz-border-radius-topright:3px; +border-style:solid; +border-width:1px; +cursor:pointer; +float:right; +height:18px; +margin:5px 5px 0 0; +padding:4px 5px 2px; +} +.js .theEditor { +color:white; +} +#content-fields #edButtonHTML { +margin-right:15px; +} +#media-buttons { +cursor:default; +padding:8px 8px 0; +} +#media-buttons a { +cursor:pointer; +padding:0 0 5px 10px; +} +#media-buttons img, #submitpost #ajax-loading { +vertical-align:middle; +} + +.tumblog-title { +-moz-border-radius-bottomleft:6px; +-moz-border-radius-bottomright:6px; +-moz-border-radius-topleft:6px; +-moz-border-radius-topright:6px; +border-style:solid; +border-width:1px; +font-size:1.7em; +outline-color:-moz-use-text-color; +outline-style:none; +outline-width:medium; +padding:3px 4px; +width:100%; +} + +.editorwidth { width:100% !important; } + +.hide-cat { display:none; } + +#advanced-options-toggle { float:right; cursor:pointer; } + +.tumblog-time { width:30px; } \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/functions-changelog.txt b/src/wp-content/themes/originalhouse/functions/functions-changelog.txt new file mode 100644 index 0000000..edea98c --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/functions-changelog.txt @@ -0,0 +1,1071 @@ +*** WooThemes Framework Changelog ** + +2011.06.27 - version 4.1.6 + * admin-custom.php - Optimised database queries surrounding the call to add_meta_box() and added filter to meta box settings. + * admin-functions.php - Fixed logic error surrounding the "use third party data" setting. Added woo_prepare_category_ids_from_option() function. + * admin-functions.php - Added new Google fonts + * admin-interface.php - Added Courier font, applied filter to the WooThemes options machine + * admin-style.css - Added additional options styling + * admin-functions.php - do_shortcode on output in woo_embed so shortcodes work in embed field + +2011.06.20 - version 4.1.5 + * /js/shortcode-generator/js/dialog-js.php - Preserve line breaks when using a textarea in the Shortcode Generator screens. + +2011.06.13 - version 4.1.4 + * admin-shortcodes.php - Added Google +1 Button shortcode. + * js/shortcode-generator/editor_plugin.js - Added Google +1 Button to shortcodes menu. + * js/shortcode-generator/shortcodes/google_plusone.js - Added Google +1 Button generator screen. + * admin-functions.php - Added modification to woo_breadcrumbs() to use get_page_by_title() if the parent page isn't found using get_page_by_path(). + +2011.05.31 - version 4.1.3 + * admin-sbm.php - Adjusted array of custom sidebars to be ordered in a specific fashion, and not by the order in which they were created. + +2011.06.10 - version 4.1.2 + * admin-functions.php - new google fonts + +2011.05.30 - version 4.1.1 + * admin-interface.php - Removed console.log to fix "theme options not saving" issue. + * admin-shortcodes.php - Adjusted HTML outputted by button shortcode to pass W3C validation. + +2011.05.21 - version 4.1.0 + * admin-functions.php - Added new Google Fonts. + * admin-interface.php - Solved bug where typography options were being set to 9px on all typography options. + * admin-functions.php - tweaked woo_image auto image tests, and vt_resize width checks + * admin-setup.php - changed $woo_options to get_option to work with older themes that don't load $woo_options + +2011.05.20 - version 4.0.9 + * admin-setup.php - removed notices from texttitle and tagline options if not set + +2011.05.12 - version 4.0.8 + * admin-functions.php - fixed get_theme_data() in woo_admin_bar_menu() + +2011.05.11 - version 4.0.7 + * admin-functions.php - added new google fonts + +2011.05.10 - version 4.0.6 + * admin-sbm.php - Fixed bug with taxonomy terms that have children not displaying the correct sidebar widgets. + +2011.05.09 - version 4.0.5 + * admin-shortcodes.php - Fixed warning message if no attributes are set in the contact form shortcode, as well as adding support for checkbox and radio button field types. + +2011.05.05 - version 4.0.4 + * admin-setup.php - Moved woo_load_textdomain() call to fire on "init". + * admin-custom-nav.php, + admin-custom.php, + admin-framework-settings.php, + admin-functions.php, + admin-interface.php, + admin-medialibrary-uploader.php, + admin-sbm.php, + admin-seo.php, + admin-setup.php, + admin-shortcodes.php, + admin-tumblog-quickpress.php - Code clean-up and consistency checks. Replaced calls to bloginfo( 'template_directory' ) and bloginfo( 'template_url' ) with get_template_directory_uri(). + +2011.05.04 - version 4.0.3 + * admin-interface.php - Fixed bug in save logic where arbitrary integers were being inserted into "Subscribe and Connect" text input fields. + * admin-setup.php - fixed bug where site description wasn't showing on older themes that don't have the new site description option. + +2011.05.03 - version 4.0.2 + * admin-interface.php - Make sure slashes are stripped from "text" field type values on save. + * admin-functions.php - Make sure slashes are stripped from all instances of the page title output (woo_title, wp_title and admin_title). + * admin-functions.php - Added generic "ie" body class to all Internet Explorer body classes, as well as an "ie9" body class for use with Internet Explorer 9. + * admin-shortcodes.php - Added optional CSS class field ("css") to the "tabs" shortcode. + * /shortcode-generator/shortcodes/tab.js - Updated "tab" shortcode generator with the new "css" field. + * admin-framework-settings.php - Added support to the exporter for values in "type" fields that are setup as arrays. + * admin-functions.php - vt_resize: Use set width from woo_image when returning image that hasn't been resized. Image will be stretched to fit. Fixes issues where image uploaded is smaller than width of slider etc. + +2011.05.02 - version 4.0.1 + * admin-functions.php - Added new Google webfonts. + +2011.04.25 - version 4.0.0 + * admin-init.php - Version bump. + * admin-setup.php - added option for tagline CSS output from options + +2011.04.25 - version 3.10.1 + * css/tumblog.css - Removed redundant Tumblog style. + +2011.04.20 - version 3.10.0 + * admin-shortcodes.php - Added optional excerpt length, with "read more" link options, to the content toggle shortcode. Added "Share via LinkedIn" shortcode. + * /js/shortcodes.js - Added logic for the excerpt "read more" link in the content toggle shortcode. + * /js/shortcode-generator/shortcodes/toggle.js - Added new shortcode attributes to content toggle shortcode generator screen. + * /js/shortcode-generator/js/dialog-js.php - Added defaultValue logic for text input fields on shortcode generator screens. + * /css/shortcodes.css - Added base CSS styles for the "more text" used if using the optional excerpt in the content toggle shortcode. + * /js/shortcode-generator/js/editor_plugin.js - Added "Share via LinkedIn" shortcode to the Generator menu. + * /js/shortcode-generator/preview-shortcode-external.php - Added custom action hook in the footer, to enable the loading of custom scripts without requiring wp_footer(). + +2011.04.18 - version 3.9.0 + * admin-seo.php - Added support for WordPress SEO by Yoast to WooSEO. + * admin-functions.php - Added support for WordPress SEO by Yoast to WooSEO. + * admin-hooks.php - Added context function and woo_*_atomic() functions for use in hooks, as well as implemented woo_do_atomic() in the various woo hooks. + * admin-functions.php - added new Google fonts + +2011.04.09 - version 3.8.2 + * admin-functions.php - added new google fonts + +2011.04.07 - version 3.8.1 + * admin-functions.php - Added filtering mechanism to woo_title() and adjusted woo_pagination() to always move the raw query string to the end of the pagination links. + +2011.03.30 - version 3.8.0 + * admin-framework-settings.php - Added options to disable WordPress Admin Bar and enable WooFramework admin bar enhancements. + * admin-functions.php - Logic to either disable the WordPress Admin Bar or add WooFramework enhanced navigation menu items. + +2011.03.28 - version 3.7.14 + * admin-shortcodes.php - Corrected new line characters in contact form shortcode. Added "rel" option to social icon shortcode. + * /js/shortcode-generator/shortcodes/social_icon.js - Added field for the "rel" option to the social icon shortcode generator. + +2011.03.18 - version 3.7.13 + * admin-init.php, admin-setup.php, admin-shortcodes.php - made all HEAD output neat + * admin-functions.php - added more google fonts + +2011.03.17 - version 3.7.12 + * admin-functions.php - modified vt_resize to not resize if the width and height of original image are smaller than resized area. + +2011.03.16 - version 3.7.11 + * admin-functions.php - added @ to omit PHP warning message in woo_custom_login_logo() + +2011.03.14 - version 3.7.10 + * admin-express-functions.php - upgraded to use post formats functionality + +2011.03.09 - version 3.7.09 + * admin-interface.php - changed wording on Reset Options button + +2011.03.05 - version 3.7.08 + * admin-shortcodes.php - Allow shortcodes to be added inside the "info box" shortcode. + * admin-sbm.php - Fixed "array_key_exists" warning message after resetting the Sidebar Manager. + +2011.03.02 - version 3.7.07 + * admin-functions.php - Added support for BuddyPress search to woo_pagination(). + * admin-tumblog-quickpress.php - Only load tumblog styles on dashboard + +2011.03.01 - version 3.7.06 + * admin-tumblog-quickpress.php - added additional editor handling + +2011.02.28 - version 3.7.05 + * admin-tumblog-quickpress.php - added safari editor fix + +2011.02.27 - version 3.7.04 + * admin-setup.php - moved woothemes_wp_head() content into seperate pluggable functions + +2011.02.26 - version 3.7.03 + * admin-sbm.php - Fixed conflict between custom page template-based and category-based sidebars. + * admin-sbm.php - Fixed Sidebar Manager reset functionality. + +2011.02.24 - version 3.7.02 + * admin-interface.php - removed deprecated tumblog functions + * admin-tumblog-quickpress.php - upgraded tumblog functions to use post formats functionality + * admin-express-functions-deprecated.php - created deprecated functions file + * admin-express-functions.php - upgraded to use post formats functionality + * /js/shortcode-generator/editor_plugin.js - Changed the method by which we detect the editor button icon. + * /js/shortcode-generator/js/dialog-js.php - Added fixes for supporting Windows-based web servers. + * admin-shortcodes.php - Added code to prevent the warning message in the shortcode preview for the custom typography shortcode. + +2011.02.23 - version 3.7.01 + * admin-functions.php - woo_image(): Added alt tag to custom field images (the_title) + +2011.02.22 - version 3.7.00 + * admin-functions.php - Added woo_pagination() and woo_breadcrumbs() functions. + * admin-shortcodes.php - Added optional tabber title to the tabber shortcode. + * /js/shortcode-generator/shortcodes/tab.js - Added "vertical" alternate style. + * /js/shortcode-generator/js/dialog-js.php - Increased total allowed tabs to 10 in the tabber controller in the shortcode generator. + * /css/shortcodes.css - Added "vertical" alternate style to the tabber shortcode. + + +2011.02.19 - version 3.6.09 + * admin-functions.php - fixed vt_resize() to not remove 1px if the image width is same as resize width + +2011.02.19 - version 3.6.08 + * admin-shortcodes.php - Changed "info box" shortcode to use DIV tag instead of P tag. Removed trailing slash on URLs in the "social icon" shortcode. + * css/shortcodes.css - Updated "info box" style to use DIV tag instead of P tag. + +2011.02.18 - version 3.6.07 + * admin-shortcodes.php - Added "nav-tab" class to tab navigation items in the tabber shortcode. + * js/shortcodes.js - Refined tabber JavaScript. + * css/shortcodes.css - Cleaned up tabber shortcode CSS to support nested unordered and ordered lists. + +2011.02.18 - version 3.6.06 + * admin-functions.php - Fixed bug where Twitter widget was intermittently generating incorrect links to tweets. + * admin-functions.php - added some more Google Fonts + +2011.02.17 - version 3.6.05 + * admin-sbm.php - Added functionality to display the category custom sidebar on single posts in that category in the Sidebar Manager. + * admin-sbm.php - Added a note explaining how the new "category sidebar on single posts" functionality works. + +2011.02.16 - version 3.6.04 + * admin-functions.php - Added fix for using custom post ID in woo_image(). + * admin-shortcodes.php - Added option to use pre-defined colour scheme in button shortcode, open in new window in social icon shortcode and tweaked options in fblike shortcode. + * /js/shortcode-generator/shortcodes/button.js - Added pre-defined colour scheme selection option. + * /js/shortcode-generator/shortcodes/fblike.js - Tweaked options to make sure all options display correctly. + * /js/shortcode-generator/shortcodes/social_icon.js - Added option to open the link in a new window. + * admin-framework-settings.php - Added Sidebar Manager data to the import/export function. + +2011.02.15 - version 3.6.03 + * admin-functions.php - vt_resize() added file_exists check + * admin-functions.php - fixed image placeholder to not show in_the_loop on singular pages + +2011.02.14 - version 3.6.02 + * admin-shortcodes.php - Added social_icon shortcode and restructured contact form shortcode to work within tabber. + * /js/shortcode-generator/shortcodes/social_icon.js - Generator controller for social_icon shortcode. + * /js/shortcode-generator/editor_plugin.js - Added link on the shortcode generator menu for the social_icon. + * /css/shortcodes.css - Adjusted contact form shortcode CSS to accommodate the new code structure. + * admin-functions.php - Tested Google Fonts and fixed several that weren't displaying. + +2011.02.11 - version 3.6.01 + * admin-functions.php - Fixed woo_twitter_script to include retweets + +2011.02.08 - version 3.6.00 + * admin-functions.php - Added support in woo_embed() for html_entity_decode. Fixed spelling mistake on "Kristi" Google Webfont. Fixed seo_follow meta custom field to switch depending on the default option. + * admin-shortcodes.php - New shortcodes ( Dropcap, Text highlight, Abbreviated text, Custom Typography (using Google Fonts), Alt-style support for the tabber, Content Toggle, Ordered and Unordered List Generators, with various alt styles for the bullets). + * admin-shortcode-generator.php - Enqueued colorpicker CSS and JavaScript files for use in the generator. + * admin-style.css - Fixed z-index issue in options screen. + * /css/shortcode-generator.css - Updated styling for shortcode generator. + * /css/shortcodes.css - Added CSS for new shortcodes. + * /images/shortcode-*.png - New images for unordered list style shortcode. + * /js/shortcode-generator/editor-plugin.js - Added additional shortcodes to menu, and new "skip lightbox" functionality for simple shortcodes. + * /js/shortcode-generator/preview-shortcode-external.php - Updated preview to include call to Google Fonts. + * /js/shortcode-generator/shortcodes/* - Added control files for new shortcodes. + * /js/shortcode-generator/js/dialog-js.php - Added additional form field controls. Integrated setup function for the colorpicker. + * /js/shortcodes.js - Added JavaScript for content toggle shortcode. + * admin-shortcodes.php - Refined and tested custom typography shortcode and font loader. + * /js/shortcode-generator/shortcodes/unordered_list.js - Refined functionality to remove list items textarea. + * /js/shortcode-generator/shortcodes/ordered_list.js - Refined functionality to remove list items textarea. + * /js/shortcode-generator/shortcodes/typography.js - Integrated colorpicker. + * /js/shortcode-generator/shortcodes/button.js - Integrated colorpicker. + +2011.02.07 - version 3.5.7 + * admin-shortcode-generator.php - Made shortcode icon available to Authors + +2011.02.05 - version 3.5.6 + * admin-functions.php - Added new google fonts. Fixed issue with auto image thumbnails in related posts shortcode on single post page + +2011.02.02 - version 3.5.5 + * admin-functions.php - fixed woo_image using wrong image in WooTabs on single posts + +2011.02.02 - version 3.5.4 + * admin-framework-settings - commented out Font Stack Beta since not functioning properly and Google Fonts better alternative than non-websafe fonts. + * admin-functions.php - fixed woo_image using wrong image in WooTabs on single posts + * admin-interface.php - fixed SBM hide option + +2011.02.01 - version 3.5.3 + * admin-custom.php - SEO fix for Content Builder. + * admin-tumblog-quickpress.php - Safari dashboard widget editor bugfix. + +2011.01.31 - version 3.5.2 + * admin-functions.php - added new function woo_get_youtube_video_image() to work with new YouTube iframe embed code + * css/admin-shortcodes.css - fixed sixcol_four width + +2011.01.28 - version 3.5.1 + * admin-functions.php - woo_image() added native resizing to placeholder image if it is enabled. Made sure auto thumbs don't show on single posts. + * admin-framework-settings.php - removed reset button as it doesn't work. + * admin-shortcodes.php - Updated tabber shortcode CSS class to "shortcode-tabs". Added optional "URL" field to fbshare shortcode. + * /includes/css/shortcodes.css - Updated tabber CSS class. Added "clear" to tabber container CSS. + * /includes/js/shortcodes.js - Updated tabber JavaScript to reflect new CSS class. + * /includes/js/shortcode-generator/shortcodes/fbshare.js - Controller for the "fbshare" shortcode in the generator. + * /includes/js/shortcode-generator/editor_plugin.js - Added menu item for the "fbshare" shortcode to the generator menu. + +2011.01.21 - version 3.5.0 + * /admin-shortcode-generator.php - Functionality for the shortcode generator. + * /admin-init.php - Require functionality for the shortcode generator. + * /js/shortcode-generator/* - JavaScript and related functionality for the shortcode generator. + * /css/shortcode-generator.css - CSS styles for the shortcode generator dialog box. + * /images/shortcode-icon.png - Icon for the shortcode button on the tinyMCE editor. + * admin-tumblog-quickpress.php - fix to make JS used for tumblog only load in admin area, not in theme. + * admin-shortcodes.php - Added tabber shortcode and enqueue function for shortcodes.js file. + * includes/js/shortcodes.js - Added JavaScript for use in shortcodes. + * includes/css/shortcodes.css - Added styling for contact form shortcode. + +2011.01.20 - version 3.4.14 + * admin-functions.php - output proper alt tag woo_image() + +2011.01.18 - version 3.4.13 + * /js/woo-medialibrary-uploader.js - The "Link URL" field is no longer required to have a value (prevent white screen error). + * admin-custom.php - Removed "mysql_real_escape_string()" calls in order to debug and resolve several issues with custom field data on save. + +2011.01.13 - version 3.4.12 + * admin-functions.php - Added framework settings function for setting custom logo on WP login page. Added function_exists to a few functions. + * admin-framework-settings.php, admin-seo.php - Cleaned up options and added a few more disable menu item options. Added icons. + +2011.01.11 - version 3.4.11 + * admin-functions.php - SEO: Added custom setting in post/page for setting robots to "noindex" + +2011.01.11 - version 3.4.10 + * admin-functions.php - added new google fonts http://code.google.com/webfonts?subset=latin&sort=added + * admin-shortcodes.php - added option to open button shortcode link in new window + +2011.01.10 - version 3.4.09 + * admin-framework-settings.php - Fixed bug in export code generator. + +2011.01.08 - version 3.4.08 + * admin-interface.php - Fixed nonce bug with Font Stacks (beta). + +2011.01.07 - version 3.4.07 + * admin-functions.php - Fixed Coda Google Font + +2011.01.03 - version 3.4.06 + * admin-functions.php - Added woo_encoding_convert() + * admin-custom-nav.php - Removed woo_encoding_convert() + +2010.12.31 - version 3.4.05 + * admin-functions.php - Added 1 new google font + +2010.12.30 - version 3.4.04 + * admin-custom.php - added stripslashes to textarea custom field + +2010.12.28 - version 3.4.03 + * admin-shortcodes.php - added extra height to fblike button with showfaces set to true + +2010.12.26 - version 3.4.02 + * admin-functions.php - Added support for encoding certain HTML entities in SEO META description field, for successful W3C validation. + +2010.12.23 - version 3.4.01 + * admin-init.php - check if WooNav option is enabled in framework settings + * admin-interface.php - removed old WooNav check + +2010.12.20 - version 3.4.00 + * admin-init.php - added content builder support + * admin-custom.php - added content builder support + * admin-interface.php - added content builder support + * admin-style.css - added content builder support + * /images/option-icon-search.png - added image icon + * /images/option-icon-favorite.png - added image icon + * /images/option-icon-upload.png - added image icon + * /images/option-icon-listing.png - added image icon + +2010.12.18 - version 3.3.08 + * admin-functions.php, admin-interface.php - Improved Google Fonts functions. Added more fonts. + +2010.12.15 - version 3.3.07 + * admin-custom.php - Resolved issue with saving of custom meta fields on existing posts. + +2010.12.11 - version 3.3.06 + * admin-functions.php, admin-interface.php - Added new google fonts + +2010.12.11 - version 3.3.05 + * admin-medialibrary-uploader.php - Fixed bug in Media Library uploader on post admin pages. + +2010.12.10 - version 3.3.04 + * admin-functions.php - updated framework updater page styling and copy. + +2010.12.10 - version 3.3.03 + * admin-setup.php - fixed alt stylesheet bug + +2010.12.09 - version 3.3.02 + * admin-functions.php - Fixed issue with html_entity_decode() function in PHP4. + +2010.12.08 - version 3.3.01 + * admin-custom.php - Sanitised $_REQUESTs. + * admin-framework-settings.php - Sanitised $_REQUESTs. Added nonce (carries over through other options pages). + * admin-functions.php - Sanitised $_REQUESTs. Sanitised woo_style_path() GET/POST variables. + * admin-interface.php - Sanitised $_REQUESTs. Added nonce to save and reset functions. + * admin-medialibrary-uploader.php - Sanitised $_REQUESTs. + * admin-sbm.php - Sanitised $_REQUESTs and $_POST'ed values. + * admin-seo.php - Sanitised $_REQUESTs. + * admin-setup.php - Sanitised $_REQUESTs. + * js/woo-scripts.js - Resolved JavaScript selector issue, causing label on image width/height fields to hide on save. + +2010.12.06 - version 3.3.00 + * admin-interface.php - removed Custom Navigation menu item, and added option to enable it in Framework Settings + * admin-framework-settings.php - removed Custom Navigation menu item, and added option to enable it in Framework Settings + * admin-functions.php - fix in woo_image for WPBundle post thumbnails + +2010.12.06 - version 3.2.13 + * admin-functions.php - woo_image links to full image if single post instead of natively resized WP Thumbnail + +2010.12.01 - version 3.2.12 + * js/woo-medialibrary-uploader.js - Added additional support for non-image files. + * admin-setup.php - added if function_exists to load_child_theme_textdomain + +2010.11.30 - version 3.2.11 + * admin-functions.php - fixed bug with native image resizer image width equal to specified width + +2010.11.29 - version 3.2.10 + * admin-sbm.php - Fixed bug in sidebar generation for post tags (test case: "video" tag). + * admin-shortcodes.php, css/shortcodes.css - added alert icon link + +2010.11.25 - version 3.2.09 + * admin-sbm.php - Added support for custom post types in the Sidebar Manager. + * admin-functions.php - added ie7 and ie6 classes to browser_body_class + +2010.11.23 - version 3.2.08 + * admin-functions.php - woo_image() native resize check and set width of image before resize to avoid error + +2010.11.22 - version 3.2.07 + * admin-sbm.php - Fixed bug in sidebar determination logic with archives and static posts page. Added logic to pull sidebar data from parent sidebar, instead of as static XHTML tags. + * admin-setup.php - added load_textdomain to look in /lang folder of parent theme and child theme + +2010.11.19 - version 3.2.06 + * admin-medialibrary-uploader.php - Fixed bug with standard values (std) logic. Removed preview if the file isn't an image. + * js/woo-medialibrary-uploader.js - Neatened up call to Media Library thickbox. Removed preview if the file isn't an image. + * admin-functions.php - Changed to using html_entity_decode() function on meta description to allow special characters (user request). + +2010.11.16 - version 3.2.05 + * admin-sbm.php - Resolved conflict between specific category and template hierarchy sidebars. + +2010.11.15 - version 3.2.04 + * admin-interface.php - made functions pluggable + * admin-functions.php - removed unused function (debug output) + * admin-framework-settings.php - removed unused function (debug output) + * admin-style.css - fixed position of screenshot + +2010.11.13 - version 3.2.03 + * admin-setup - added check for non-existing array in woo_head_css() + +2010.11.12 - version 3.2.02 + * admin-setup.php - improved/cleaned up code + * admin-theme-page.php - REMOVED FILE + * admin-functions.php - added Buy Themes page function + * admin-init.php - removed admin-theme-page.php require + * admin-init.php - Bumped to new version + * js/woo-medialibrary-uploader.js - Fixed bug with send_to_editor + +2010.11.10 - version 3.2.01 + * admin-functions.php - fixed update version checker + * admin-interface.php - added select box styling + * admin-style.css - added select box styling + * includes/js/woo-scripts.php - added select box styling + +2010.11.10 - version 3.2.00 + * admin-init.php - Updated framework version. Require the Media Library-driven uploader functions. + * admin-interface.php - Added support for the Media Library-driven uploader. + * admin-medialibrary-uploader.php - The functions for the Media Library-driven uploader. + * admin-style.css - Updated styles for Media Library-driven uploader. + * admin-custom.php - Updated styles for Media Library-driven uploader. + * js/woo-medialibrary-uploader.js - JavaScript code for the Media Library-driven uploader. + * admin-functions.php - updated woo_image 'url' function + +2010.11.09 - version 3.1.11 + * admin-functions.php - Improved logic with new native resize. Added option for Post URL ( 'url') to the link parameter + +2010.11.08 - version 3.1.10 + * admin-style.css - styling updates for options panel + * admin-shortcodes.php - Fixed fbshare url, added more params to fblike + * admin-functions.php - Added support for native resize of WP post thumbnails + * admin-setup.php - modified WP post thumbnail setup + +2010.11.04 - version 3.1.09 + * admin-tumblog-quickpress.php - Added handler for ajax date and time posting to allow correct values. + +2010.11.03 - version 3.1.08 + * admin-sbm.php - Added fix for custom taxonomies sbm frontend output. + +2010.11.02 - version 3.1.07 + * admin-functions.php - fixed html_entities in woo_meta (line 1529) + * admin-shortcodes.php - added facebook share button. added fourcol_two columns. + * css/shortcodes.css - column shortcode + +2010.11.01 - version 3.1.06 + * admin-style.css - Fixed SBM IE styling bugs + +2010.10.28 - version 3.1.05 + * admin-sbm.php - Added patch to jQuery for IE .live( 'submit') issue. + +2010.10.27 - version 3.1.04 + * admin-functions.php - updated the woo_get_fw_version() function with a new mothod + +2010.10.25 - version 3.1.03 + * admin-functions.php - added fallback to woo_title() if output is empty (CPT fallback) + * admin-functions.php - added "-" in search for youtube thumbnail video ID + * admin-functions.php - updated logic in woothemes_framework_update_page() + +2010.10.24 - version 3.1.02 + * admin-functions.php - added classes to woo_twitter_script() + +2010.10.21 - version 3.1.01 + * admin-functions.php - fix on YouTube thumbnail generation logic in woo_image() + +2010.10.21 - version 3.1.00 + * admin-interface.php - Added icon option to headings in option panel. + * admin-style.css - Added basic options icons. Tweaked options styling. + * /images/ - Added new basic options icons + +2010.10.21 - version 3.0.13 + * admin-functions.php - added automatic youtube thumbnails to woo_image + +2010.10.20 - version 3.0.12 + * admin-interface.php - added unit option to typography. + * admin-style.css - updated styling for typography. + +2010.10.18 - version 3.0.11 + * admin-custom.php - Removed code segment that check for empty fields for Custom Settings boxes + +2010.10.18 - version 3.0.10 + * admin-interface.php, admin-functions.php - Added new google fonts + +2010.10.12 - version 3.0.09 + * admin-sbm.php - Fixed a syntax error in the woo_active_sidebar() function. + +2010.10.11 - version 3.0.08 + * admin-functions.php - Removed Robots when third party SEO plugins are activated + +2010.10.08 - version 3.0.07 + * admin-interface.php - Removed all wpdb queries and replaced with alternative functions. + * admin-functions.php - Removed all wpdb queries and replaced with alternative functions. Removed "insert page" shortcode. + +2010.10.07 - version 3.0.06 + * admin-sbm.php - Bug fix regarding some categories and not returning data for creating sidebars. + * admin-functions.php - woo_image: removed force get_options + +2010.10.06 - version 3.0.05 + * admin-sbm.php - Added check for sidebars only being called with integers. + +2010.10.06 - version 3.0.04 + * admin-functions.php - fixed bug in woo_image where $single was always true + +2010.10.05 - version 3.0.03 + * admin-sbm.php - Added default parameter to the woo_sidebar() function. + +2010.10.04 - version 3.0.02 + * admin-interface.php - Added string builder logic. + * admin-style.css - Added styles for string builder + * admin-framework-settings.php - Added new Font Stack Builder option, + +2010.09.30 - version 3.0.01 + * admin-interface.php - Added reset function for SBM. + * admin-sbm.php - Added reset and error checking functions. + +2010.09.17 - version 3.0.00 + * admin-sbm.php - Added new files for Sidebar Manager + * admin-interface.php - Enabled the Sidebar Manager in the backend + * admin-style.css - Added CSS for new Sidebar Manager + * Added preliminary stack builder source. + +2010.09.14 - version 2.9.28 + * admin-functions.php - Added fix in woo_image to not apply WM Multisite url fix if external image url is sent through. Added crop alignment option to woo_image + +2010.09.14 - version 2.9.27 + * admin-functions.php - added alternative taxonomies to be added to the SEO keyword output. + +2010.09.13 - version 2.9.26 + * admin-interface.php - fixed time input masking + +2010.09.12 - version 2.9.25 + * css/shortcodes.css - revised boxes + * admin-shortcodes - revised boxes + +2010.09.10 - version 2.9.24 + * css/shortcodes.css - revised buttons + * admin-functions.php - bug fix: removed alt tag from anchor from woo_image if resizer off + +2010.09.10 - version 2.9.23 + * admin-shortcodes.php - Revised buttons, started with JS toggle + * css/shortcodes.css - revised buttons + +2010.09.09 - version 2.9.22 + * admin-functions.php - fixed woo_image to not show duplicate image in single post when grabbing image from post + +2010.09.07 - version 2.9.21 + * admin-setup.php - Fixed some logic with loading complex options from previously saved options. + * admin-express-functions.php - fixed iphone function bug for tumblog themes + * admin-interface.php - added handling for apostrophes in theme option drop downs + * admin-functions.php - removed "beta" warning from Update Framwork page + +2010.09.06 - version 2.9.20 + * admin-interface.php - added manual off for SBM until it's ready for realease. + * admin-custom.php - Added fix to constants with correct php syntax. + * admin-sbm.php - ADDED new functionality + +2010.09.03 - version 2.9.19 + * admin-interface.php - Fixed a undefined index php error. + +2010.09.01 - version 2.9.18 + * admin-shortcodes.php - Removed function to remove shortcodes from RSS feeds, as it strips WP shortcodes too. Fixed ilink icon parameter. + * admin-functions.php - changed str_ireplace to str_replace (php4) + +2010.09.01 - version 2.9.17 + * admin-shortcodes.php - added function to remove excessive paragraphs and linebreaks from shortcodes + +2010.08.31 - version 2.9.16 + * css/shortcodes.css - fixed styling for box shortcode to work properly on some older themes. New ilink styling + * admin-shortcodes.php - added new ilink shortcode + * admin-framework-settings.php - made the options panel output disabled by default + * admin-functions.php - made the options panel output disabled by default + +2010.08.30 = version 2.9.15 + * admin-interface.php - Added extra markup for SEO Character Counters + * admin-custom.php - Added Character counter script, and removed td tags outputs. Fixed some SEO show/hide functionality. + +2010.08.25 - version 2.9.14 + * admin-tumblog-quickpress.php - Checks for (and includes) iPhone app functionality for tumblog themes + * admin-express-functions.php - iPhone app functionality file added + +2010.08.24 - version 2.9.13 + * admin-tumblog-quickpress.php - Bug fix for tumblog dashboard widget + +2010.08.21 - version 2.9.12 + * admin-shortcodes.php - added icon links shortcode. Fixed box shortcode to take more input. Removed wpautop(). Remove Shortcode from RSS feed. + * css/shortcodes.css - new shortcode styling + +2010.08.21 - version 2.9.11 + * admin-shortcodes.php - added missing sixcol shortcodes + * css/shortcodes.css - added missing sixcol shortcodes + +2010.08.20 - version 2.9.10 + * admin-shortcodes.php - added quote shortcode + * css/shortcodes.css - added quote shortcode css + * images/quote.png - added quote.png + +2010.08.20 - version 2.9.09 + * admin-init.php - added require admin-shortcodes.php + * admin-shortcodes.php - ADDED - new file to hold shortcodes. Added HR/Divider and Columns shortcodes. + * admin-functions.php - removed shortcodes. Added ' to $_REQUEST[style] + * admin-setup.php - removed decode option function + +2010.08.18 - version 2.9.08 + * admin-framework-settings.php - Added remove generator meta tags option + * admin-init.php - Added remove generator meta tags option + +2010.08.17 - version 2.9.07 + * admin-setup.php - Enclosed string arguments. Bug Fix + * admin-functions.php - Added check for valid Taxonomy archive outputs in woo_title(); + * admin-interface.php - Removed unused tumbleblog upgrade code. + +2010.08.16 - version 2.9.06 + * admin-custom-nav.php - Added notice to users that they should use the WordPress 3.0.x Menu Management instead of WooNav. + +2010.08.15 - version 2.9.05 + * admin-functions.php - Fixed shortcodes.css to be included from parent theme, not child theme. + +2010.08.13 - version 2.9.04 + * admin-functions.php - Added syntax to be selective about SEO custom options and post types. + +2010.08.13 - version 2.9.03 + * admin-functions.php - Added twitter button shortcode + * /css/shortcodes.css - Added shortcodes CSS + +2010.08.12 - version 2.9.02 + * admin-functions.php - Added image to related posts shortcode + * /css/shortcodes.css - Added shortcodes CSS + +2010.08.12 - version 2.9.01 + * admin-interface.php - Added handling for Tumblog Upgrade function + * admin-tumblog-quickpress.php - Added Tumblog 2.0.0 functionality + * /css/tumblog.css - Added styling for Tumblog 2.0.0 functionality + * /js/tumblog-ajax.js - Added js for Tumblog 2.0.0 functionality + +2010.08.11 - version 2.9.00 + * admin-functions.php - Added shortcodes + * /css/shortcodes.css - Added shortcodes CSS + * /images/ - Added icons for shortcodes + +2010.08.06 - version 2.8.13 + * admin-functions.php - Added default image placeholder + * adimin-framework-settings.php - Added default image placeholder + +2010.08.06 - version 2.8.12 + * admin-functins.php - Fix so woo_title works on older versions of WP (pre 3.0) + +2010.08.06 - version 2.8.11 + * admin-functins.php - Added info box for SEO custom fields + * admin-custom.php - Added info box for SEO custom fields + * admin-seo.php - Added info box for SEO custom fields + +2010.08.05 - version 2.8.10 + * admin-functions.php - woo_title() fixed bug to show custom page title on pages + +2010.08.02 - version 2.8.09 + * admin-functions.php - Google Fonts: removed add_action. Must be loaded in includes/theme-actions.php or functions.php in the theme to use. + +2010.08.01 - version 2.8.08 + * admin-functions.php - Google Fonts: Fixed PHP warning if $woo_options not set + +2010.08.01 - version 2.8.07 + * admin-functions.php - Added Google Fonts stylesheet generator + * admin-interface.php - Added Google Fonts options + +2010.07.26 - version 2.8.06 + * admin-interface.php - Added fix for secondary inputs resetting on zero values + +2010.07.26 - version 2.8.05 + * admin-tumblog-quickpress + +2010.07.26 - version 2.8.04 + * admin-tumblog-quickpress.php - User Permissions fix: does not allow any user without publish_posts capability to see the dashboard widget. + +2010.07.19 - version 2.8.03 + * admin-functions.php - SEO upgrades and fixes to archive indexing and outputs. + +2010.07.14 - version 2.8.02 + * admin-functions.php - added Taxonomy Archive title information to SEO function woo_title() + +2010.07.12 - version 2.8.01 + * admin-custom.php - wpmu fix for versions prior to 3.0 - get_post_types() not supported in 2.9.x wpmu + +2010.07.08 - version 2.8.00 + * BUMP VERSION + +2010.07.08 - version 2.7.29 + * admin-setup.php - Added woo_comment_reply() (moved out from header.php), added function_exists to some functions + +2010.07.07 - version 2.7.28 + * admin-framework-settings.php - removed the framework beta option, now permanently enabled. + * admin-functions.php - Fixed and added SEO keyword output for new options + * admin-interface.php - Changed loading credentials for framework update page. + * admin-seo.php - Added new options for adding site wide keywords and descriptions. + +2010.07.06 - version 2.7.27 + * admin-seo.php - Added SEO option to disable the custom fields. + * admin-custom.php - Added functionality to disable the SEO custom fields. + * admin-functions.php - Changes some Special character encoding in the Keyword and Description meta output + +2010.07.02 - version 2.7.26 + * admin-custom.php - Made WooThemes Custom Fields/Custom Settings appear on custom post types automatically. + +2010.06.30 - version 2.7.25 + * admin-seo.php - Updated wording for SEO options. + +2010.06.28 - version 2.7.24 + * admin-functions.php - Adjusted woo_meta(); and other SEO functions due to third party plugin queries. + +2010.06.25 - version 2.7.23 + * admin-functions.php - added fix for possible WordPress 3 Multisite on blog.dir issues. (Commented out globals $blog_id;) + +2010.06.15 - version 2.7.22 + * admin-seo.php - Added notice for WordPress sites set to private. + +2010.06.15 - version 2.7.21 + * admin-functions.php - Uniformly sanatized SEO description outputs. + +2010.06.01 - version 2.7.20 + * admin-function.php - Fixed some possible issues with get_the_post_image in woo_image. Also fixed SEO keywords issues. + * admin-interface.php - Changed JS to iterate throughout hidden classes/options more accurately. + * admin-setup.php - Cleared up some php notice errors. + +2010.06.01 - version 2.7.19 + * admin-custom.php - Modified the output to store relative ID's into the page markup for custom fields. + +2010.05.27 - version 2.7.18 + * admin-functions.php - Formalized the the_post_thumbnail to work with rest of the woo_image structure. Post linking and WPMU safe. + +2010.05.27 - version 2.7.17 + * admin-custom-nav.php - Backend fix for 2nd+ level category descriptions in the Add an Existing Category box. + +2010.05.26 - version 2.7.16 + * admin-function - Added fix for images used elsewhere in a theme with custom width atributes (html resizing) + +2010.05.26 - version 2.7.15 + * admin-custom-nav.php - added error trapping for function mb_detect_encoding() which checks charset type. + * admin-setup.php - fixed index check on texttitle, Adjusted save on activate + + +2010.05.24 - version 2.7.14 + * admin-interface.php - Rectified problems with $woo_options not resetting and repopulating on import. + +2010.05.18 - version 2.7.13 + * admin-setup.php - fixed output of custom css from options + +2010.05.12 - version 2.7.12 + * admin-interface.php - Added jQuery for collapsable functionality in option page. + * admin-functions.php - Modified woo_image() to handle WordPress image. + * admin-setup.php - Added thumbnail setup + +2010.05.10 - version 2.7.11 + * admin-setup.php - added check for textitle from old theme options. + +2010.05.03 - version 2.7.10 + * admin-custom-nav.php - added stripslashes to handle escape chars for before_title and after_title params, russian chars now supported, current_page_parent class added, 2nd + level apostrophe fix + * admin-init.php - Versioned up to 2.7.10 + * admin-functions.php - Modified woo_image to support gallery functionality, modified woo_title() and woo_meta() to use plugin data and display paging details. + * admin-style.css - Added new classes for 'info' options + * admin-seo.php - Added more options to Options Page + * admin-interface.php - Added 'info' option. + +2010.04.29 - version 2.7.09 + * admin-custom-nav.php - added depth arg to frontend output + * admin-setup.php - Modified theme activate save function to retain non-common options. + +2010.04.23 - version 2.7.08 + * admin-interface.php - Adjust image upload return class to match corresponding CSS class for resizing. + * admin-init.php - Versioned up to 2.7.8 + +2010.04.19 - version 2.7.07 + * admin-funtions.php - Added support for removing special from file uploads. + * admin-custom.php - Added support for removing special from file uploads. + * style.css - Added z-index to options wrapper + +2010.04.14 - version 2.7.06 + * admin-tumblog-quickpress.php - Swopped out default WP editor for simpler nicEdit. + * /js/nicEdit.js - added nicEdit wysiwyg editor compressed source js. + * /js/tumblog-ajax.js - modified to support nicEdit. + * /images/nicEditorIcons.gif - added editor icons file. + * admin-init.php - Versioned up to 2.7.6 + +2010.04.12 - version 2.7.05 + * admin-framework-settings.php - Changed wording for Framework Core Updater option. + * admin-interface.php - Modified version checker, avoids possible user theme rename. + * admin-functions.php - Updated Framework Updater to ignore lesser versions. + * admin-init.php - Versioned up to 2.7.5 + +2010.04.12 - version 2.7.04 + * admin-init.php - Versioned up to 2.7.4 + * admin-functions.php - Fixed SEO and 404 page functionality + +2010.04.12 - version 2.7.03 + * admin-init.php - Versioned up to 2.7.3 + * admin-tumblog-quickpress.php - removed reference to old validation css + +2010.04.09 - version 2.7.02 + * admin-init.php - Versioned up to 2.7.2 + * admin-interface.php - Added Datepicker and time controls + * admin-custom.php - Added Datepicker and time controls + +2010.04.08 - version 2.7.01 + * admin-init.php - Versioned up to 2.7.1 + * admin-interface.php - Fixed error with default values for textareas + +2010.03.29 - version 2.7.00 + * MAJOR UPDATE! + * Added admin-seo.php & admin-init.php + * Changed base theme loading structure to admin-init.php, to resolve pressure from themes functions.php + * Converted all alternative options pages (SEO & Framework Settings) to The Machine and the AJAX save action. + * Added resets to main options areas. + * Added branding and super user support. + * Added SEO support. + * WooNav fixes for edit error, js error, changeover to wordpress default scripts - admin-custom-nav.php & custom_menu_dynamic_items.js & custom_menu_initial_items.js + * Tumblog functionality fixes for dashboard widget and cURL error - admin-tumblog-quickpress.php & admin-functions.php + * JS minified - jquery.autocomplete.js & ui.datepicker.js + +2010.03.25 - version 2.6.05 + * admin-custom-nav.php - bug fix for special chars and the sidebar widget - added block class to nav widget, updated db links field to use text instead of varchar + * /js/custom_menu_dynamic_items.js - bug fix for special chars + +2010.03.22 - version 2.6.04 + * admin-functions.php - Updated WPMU test in woo_image + +2010.03.18 - version 2.6.03 + * admin-functions.php - Comleted first version of WooFramework Updater with Direct and FTPext support + +2010.03.18 - version 2.6.02 + * admin-custom.php - improved calendar control for multiple calendars + * admin-interface.php - improved calendar control for multiple calendars + +2010.03.18 - version 2.6.01 + * admin-custom-nav.php - bug fix for custom menu items current page item class if using static home page + +2010.03.17 - version 2.6.00 + * admin-custom.php - added handler for post/page metabox for calendar + * admin-interface.php - added handler for theme option type=calendar and JS, CSS scripts + * /js/ui.datepicker.js - Added datepicker JS + * /css/datepicker/* - Added css and images for datepicker + +2010.03.16 - version 2.5.07 + * admin-custom-nav.php - bug fix for custom menu items current page item class + * admin-setup.php - added define( 'THEME_FRAMEWORK','woothemes' ); + +2010.03.15 - version 2.5.06 + * admin-custom-nav.php - added support for umlauts and other special chars + +2010.03.15 - version 2.5.05 + * admin-functions.php - added 'Off' functionality to the url shortener + +2010.03.04 - version 2.5.04 + * admin-functions.php - fixed a bug with getting first inline image in post in woo_image + +2010.03.04 - version 2.5.03 + * admin-custom-nav.php - bug on opening external links in new window + +2010.03.04 - version 2.5.02 + * admin-function.php - switched file_get_contents for curl + +2010.03.03 - version 2.5.01 + * admin-tumblog-quickpress.php - added tag support for Tumblog Dashboard Widget + +2010.03.03 - version 2.5.00 + * admin-functions.php - Made Generic woo_short_url($url) function that uses bit.ly or tinyurl + +2010.03.03 - version 2.4.09 + * admin-functions.php - Added TinyUrl shortener function getTinyUrl($url). + +2010.03.03 - version 2.4.08 + * admin-functions.php - Fixed a missing character in the woo_image function regarding non resized images. + +2010.03.03 - version 2.4.07 + * admin-functions.php - added double check for WPMU $blog_id + +2010.03.02 - version 2.4.06 + * admin-functions.php - line 153, removed the extra [0] from the $first_img = $matches[1][0]. Was giving an error. + +2010.03.02 - version 2.4.05 + * admin-custom-nav.php - removed id's from menu items so that menu can validate + +2010.03.02 - version 2.4.04 + * admin-tumblog-quickpress.php - fixed Audio and Image upload so that they now attach to the post when using Woo Quickpress widget + +2010.03.01 - version 2.4.03 + * admin-functions.php - Converted woo_get_embed into woo_embed (like woo_image), and created a working depreciation of woo_get_image. + +2010.02.25 - version 2.4.02 + * admin-interface.php - fixed bug with Tahoma font selection + +2010.02.25 - version 2.4.01 + * admin-functions.php - woo_image is upgraded with 'src' to accept image url's for dynamic resizing, and 'meta' for title and alt text. + +2010.02.24 - version 2.4.00 + * admin-functions - Added Dynamic Height calculation to woo_get_embed. + * admin-tumblog-quickpress and associated files - added tumblog files + +2010.02.23 - version 2.3.08 + * admin-interface.php - Fixed bug with saving mechanism. + +2010.02.16 - version 2.3.07 + * admin-interface.php - Fixed ajax callback NOTICE errors, fixed color box bug, removed cleanSource() from image uploader in the machine. + * admin-framework-settings.php - Fixed XML markup error. + +2010.02.15 - version 2.3.06 + * admin-framework-settings - Modified SQL queries for possible compatibility issues. + * admin-interface.php - Modified SQL queries for possible compatibility issues. + +2010.02.10 - version 2.3.05 + * admin-framework-settings.php - ADDED - put most of the Framework settings HTML interface in a seperate file. + * admin-framework-update.php - ADDED - New file that will act as the template for framework updates. (BETA) + * admin-interface.php - Wrote new checks for update messages. Along with save functions for new framework settings. + * admin-themes-page.php - Modified with WP_Error checks. + +2010.02.10 - version 2.3.04 + * admin-functions.php - Added woo_active_template() function for checking if a template is in use. + +2010.02.07 - version 2.3.03 + * admin-interface.php - added more fonts / stacks + +2010.02.07 - version 2.3.02 + * admin-setup.php - custom css wasn't outputted if text title option enabled + +2010.02.05 - version 2.3.01 + * admin-custom.php - Don't show thumb.php in image custom field if there isn't any image + * admin-functions.php - Added a double check for WPMU files path + +2010.02.03 - version 2.3.00 + * admin-interface.php - Added code to compile all options into one database row, woo_options. + +2010.02.03 - version 2.2.08 + * css/custom_nav.css - fixed child item margin + * admin-functions.php - defined $_REQUEST['options'] + * admin-interface.php - $update_message was undefined variable echo only if isset + * admin-interface.php - fixed line 880 to check if variable isset + * admin-custom-nav.php - implemented custom nav fixes and upgrades (upgrading made easier, version added, max width, anchor titles, reset confirmation, optional open link in new window) + +2010.02.02 - version 2.2.07 + * admin-custom-nav.php - fixed current_page_item bug which occurs when pretty permalinks are on + +2010.02.02 - version 2.2.06 + * admin-functions.php - Modified typography option + * admin-style.css - Modified typography option + * admin-interface.php - Removed usage of thumb.php to display uploaded image. + +2010.02.01 - version 2.2.06 + * admin-setup.php - Added functionality for editing menu items, updated menu add, current-page-item class, added reset button + +2010.02.01 - version 2.2.05 + * admin-hooks.php - Updated with new hook definitions + +2010.01.29 - version 2.2.04 + * admin-setup.php - Automatically show Options Panel on activate + +2010.01.27 - version 2.2.03 + * admin-setup.php - Cleared some PHP Notice warnings. + * css/custom_nav.css - added ico-arrow to WooNav + * images/ico-arrow.png - added ico-arrow to WooNav + +2010.01.27 - version 2.2.02 + * admin-custom.php - Fixed a file upload handle error + +2010.01.27 - version 2.2.01 + * admin-functions.php - fixed parameter link in woo_get_image + +2010.01.26 - version 2.2.00 + * admin-interface.php - Added custom navigation menu optional functionality. + * admin-setup.php - Added custom navigation menu optional functionality. + * admin-custom-nav.php - added to repository - all custom navigation menu functionality. + * admin-functions.php - Added function to show options on html page + * admin-inteface.php - Added new framework setting to disable output of options page + +2010.01.26 - version 2.1.02 + * admin-functions.php - Cleaned woo_image function and added functionality to get first image in post (not attached). + +2010.01.25 - version 2.1.01 + * admin-functions.php - Depreceated woo_get_image and forwarded it to woo_image. cleaned up and fixed cleansource function to work properly. + * admin-style.css - removed import reset.css + +2010.01.12 - version 2.1.00 + * admin-hooks.php - Definition of hooks that can be used in theme + * admin-functions.php - Added function for analytics and IE output in head + * admin-setup.php - Added function to output css in head. Removed legacy comments function. + +2009.12.23 - version 2.0.00 + * MAJOR Update (Beta) + * Temporary check built in to prevent 2.9 from bombing out on the RSS functions + +2009.12.18 - version 1.2.03 + * admin-functions.php - Fixed WPMU in woo_get_image when resizer disabled + +2009.11.02 - version 1.2.02 + * admin-functions.php - Set thumb.php parameters to have width first instead of height. + +2009.10.12 - version 1.2.01 + * admin-functions.php - Added support for WPMU in woo_get_image() + +2009.09.24 - version 1.2.00 + * admin-interface.php - Added icons to titles + * admin-interface.php - Rewritten jquery slider animation to work with new icons + * admin-style.css - New styling for icons + * /images/plus.png - ADDED + * /images/down.png - ADDED + * /images/up.png - ADDED + +2009.09.23 - version 1.1.01 + * admin-setup.php - Load default.css if options panel has not been saved yet. + * admin-interface.php - Fixed 'reset' not working properly. + * admin-interface.php - Replaced Woo-icon in back-end to reference local file. + * /images/woo-icon.png - ADDED + +2009.09.15 - version 1.1.00 + * admin-functions.php - Added sort order for "auto image" + * admin-functions.php - Only add rel="lightbox" when linking directly to images, and not permalinks. + +2009.09.07 - version 1.0.09 + * admin-functions.php - Added suckerfish hack to woo_get_embed + * admin-functions.php - Added $class to img tag when no resizer used + +2009.08.31 - Version 1.0.08 + * admin-interface.php - Converted file uploads to wp_handle_upload() + * admin-custom.php - Converted file uploads to wp_handle_upload() + * admin-functions.php - Added IE7 fix of empty height on woo_get_image + * admin-functions.php - Removed "permanent link to" from woo_get_image + * admin-functions.php - Added rel="lightbox" to woo_get_image + +2009.08.26 - Version 1.0.07 + * admin-setup.php - Added localization + * admin-setup.php - Added custom.css stylesheet link insert into the header + * admin-interface.php - Changed ABSPATH to get_template_directory() when assigning the get_theme_data argument. + * admin-functions.php - Changed ABSPATH to get_template_directory() when assigning the get_theme_data argument. + * admin-functions.php - Reworked woo_get_image to be less dependent on php function and added, 'woo_force_all' and 'woo_force_single' options for image sizing issues. + * admin-interface.php - Reworked the file uploader to catch permission errors. + * admin-costom.php - Reworked the file uploader to catch permission errors. + * admin-style.css - Added new style for error popup + * /images/error.png - Added icon for .errors class in CSS + +2009.08.13 - Version 1.0.06 + * admin-setup.php - Removed permanent woo_option_output() from wp_footer. Added as parameter. + * admin-interface.php - Uploads rewritten with Content Directories Constants. http://codex.wordpress.org/Determining_Plugin_and_Content_Directories + +2009.08.05 - Version 1.0.05 + * admin-interface.php - Fixed but with Abolute path on Theme version checker. + +2009.08.03 - Version 1.0.04a + * admin-interface.php - Removed Update notifier. Added support for '&' in select boxes. + +2009.07.27 - Version 1.0.04 + * admin-functions.php - Modified woo_get_image(), added get_page_id() function, added post [insert] shortcode. + * admin-interface.php - Added Update Notifier, + * admin-setup.php - Added custom CSS header insert, added encrypted footer woo_ options output (debugging). + +2009.07.16 - Version 1.0.03 + * admin-functions.php - Fixed woo_get_image syntax. + +2009.07.07 - Version 1.0.02 + * admin-custom.php - Added alternative method. Javascript
        hack for IE7. ie. Custom field uploading IE7 fix. + +2009.07.07 - Version 1.0.01 + * admin-functions.php - Added extra "$force" argument to the woo_get_image function. Adds ability to force woo_get_images to be set to given dimention when GD library is not available. (small image forced resize bug + img load missing height bug) + +2009.07.06 - Version 1.0.00 + * First Logged release \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/images/1c.png b/src/wp-content/themes/originalhouse/functions/images/1c.png new file mode 100644 index 0000000..6bbb1c3 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/1c.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/2cl.png b/src/wp-content/themes/originalhouse/functions/images/2cl.png new file mode 100644 index 0000000..fb1db09 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/2cl.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/2cr.png b/src/wp-content/themes/originalhouse/functions/images/2cr.png new file mode 100644 index 0000000..a832f28 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/2cr.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/3cl.png b/src/wp-content/themes/originalhouse/functions/images/3cl.png new file mode 100644 index 0000000..212851d Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/3cl.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/3cm.png b/src/wp-content/themes/originalhouse/functions/images/3cm.png new file mode 100644 index 0000000..bad52c3 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/3cm.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/3cr.png b/src/wp-content/themes/originalhouse/functions/images/3cr.png new file mode 100644 index 0000000..fabfd66 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/3cr.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-audio.png b/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-audio.png new file mode 100644 index 0000000..574ad5c Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-audio.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-image.png b/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-image.png new file mode 100644 index 0000000..551d1a1 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-image.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-link.png b/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-link.png new file mode 100644 index 0000000..da2dfc0 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-link.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-note.png b/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-note.png new file mode 100644 index 0000000..4645eec Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-note.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-quote.png b/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-quote.png new file mode 100644 index 0000000..3dfb330 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-quote.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-video.png b/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-video.png new file mode 100644 index 0000000..3074ff4 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/btn-tumblog-video.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/calendar.gif b/src/wp-content/themes/originalhouse/functions/images/calendar.gif new file mode 100644 index 0000000..d0abaa7 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/calendar.gif differ diff --git a/src/wp-content/themes/originalhouse/functions/images/colorpicker/blank.gif b/src/wp-content/themes/originalhouse/functions/images/colorpicker/blank.gif new file mode 100644 index 0000000..75b945d Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/colorpicker/blank.gif differ diff --git a/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_background.png b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_background.png new file mode 100644 index 0000000..8401572 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_background.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_hex.png b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_hex.png new file mode 100644 index 0000000..4e532d7 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_hex.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_hsb_b.png b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_hsb_b.png new file mode 100644 index 0000000..dfac595 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_hsb_b.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_hsb_h.png b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_hsb_h.png new file mode 100644 index 0000000..3977ed9 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_hsb_h.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_hsb_s.png b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_hsb_s.png new file mode 100644 index 0000000..a2a6997 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_hsb_s.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_indic.gif b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_indic.gif new file mode 100644 index 0000000..f9fa95e Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_indic.gif differ diff --git a/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_overlay.png b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_overlay.png new file mode 100644 index 0000000..561cdd9 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_overlay.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_rgb_b.png b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_rgb_b.png new file mode 100644 index 0000000..dfac595 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_rgb_b.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_rgb_g.png b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_rgb_g.png new file mode 100644 index 0000000..72b3276 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_rgb_g.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_rgb_r.png b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_rgb_r.png new file mode 100644 index 0000000..4855fe0 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_rgb_r.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_select.gif b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_select.gif new file mode 100644 index 0000000..599f7f1 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_select.gif differ diff --git a/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_submit.png b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_submit.png new file mode 100644 index 0000000..7f4c082 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/colorpicker/colorpicker_submit.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/colorpicker/select.png b/src/wp-content/themes/originalhouse/functions/images/colorpicker/select.png new file mode 100644 index 0000000..bfc46dc Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/colorpicker/select.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/footer-widgets-0.png b/src/wp-content/themes/originalhouse/functions/images/footer-widgets-0.png new file mode 100644 index 0000000..6bbb1c3 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/footer-widgets-0.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/footer-widgets-1.png b/src/wp-content/themes/originalhouse/functions/images/footer-widgets-1.png new file mode 100644 index 0000000..b8a5c29 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/footer-widgets-1.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/footer-widgets-2.png b/src/wp-content/themes/originalhouse/functions/images/footer-widgets-2.png new file mode 100644 index 0000000..a63d3be Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/footer-widgets-2.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/footer-widgets-3.png b/src/wp-content/themes/originalhouse/functions/images/footer-widgets-3.png new file mode 100644 index 0000000..3053698 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/footer-widgets-3.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/footer-widgets-4.png b/src/wp-content/themes/originalhouse/functions/images/footer-widgets-4.png new file mode 100644 index 0000000..dbecf9b Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/footer-widgets-4.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/gray-grad.png b/src/wp-content/themes/originalhouse/functions/images/gray-grad.png new file mode 100644 index 0000000..5ac3e02 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/gray-grad.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/happy.png b/src/wp-content/themes/originalhouse/functions/images/happy.png new file mode 100644 index 0000000..e463fa8 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/happy.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/headertile.jpg b/src/wp-content/themes/originalhouse/functions/images/headertile.jpg new file mode 100644 index 0000000..97e23a0 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/headertile.jpg differ diff --git a/src/wp-content/themes/originalhouse/functions/images/headingtop.jpg b/src/wp-content/themes/originalhouse/functions/images/headingtop.jpg new file mode 100644 index 0000000..16893dc Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/headingtop.jpg differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-add.png b/src/wp-content/themes/originalhouse/functions/images/ico-add.png new file mode 100644 index 0000000..21adda4 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-add.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-alert.png b/src/wp-content/themes/originalhouse/functions/images/ico-alert.png new file mode 100644 index 0000000..f985243 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-alert.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-arrow.png b/src/wp-content/themes/originalhouse/functions/images/ico-arrow.png new file mode 100644 index 0000000..c931088 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-arrow.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-changelog.png b/src/wp-content/themes/originalhouse/functions/images/ico-changelog.png new file mode 100644 index 0000000..e1649f5 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-changelog.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-close.png b/src/wp-content/themes/originalhouse/functions/images/ico-close.png new file mode 100644 index 0000000..f985243 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-close.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-delete.png b/src/wp-content/themes/originalhouse/functions/images/ico-delete.png new file mode 100644 index 0000000..d9bc51b Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-delete.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-docs.png b/src/wp-content/themes/originalhouse/functions/images/ico-docs.png new file mode 100644 index 0000000..ed73f20 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-docs.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-download.png b/src/wp-content/themes/originalhouse/functions/images/ico-download.png new file mode 100644 index 0000000..a5643de Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-download.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-edit.png b/src/wp-content/themes/originalhouse/functions/images/ico-edit.png new file mode 100644 index 0000000..061c7f0 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-edit.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-forum.png b/src/wp-content/themes/originalhouse/functions/images/ico-forum.png new file mode 100644 index 0000000..deec453 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-forum.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-info.png b/src/wp-content/themes/originalhouse/functions/images/ico-info.png new file mode 100644 index 0000000..eb228bd Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-info.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-note.png b/src/wp-content/themes/originalhouse/functions/images/ico-note.png new file mode 100644 index 0000000..4f2bd65 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-note.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-social-delicious.png b/src/wp-content/themes/originalhouse/functions/images/ico-social-delicious.png new file mode 100644 index 0000000..d8e563a Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-social-delicious.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-social-facebook.png b/src/wp-content/themes/originalhouse/functions/images/ico-social-facebook.png new file mode 100644 index 0000000..8ff3691 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-social-facebook.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-social-flickr.png b/src/wp-content/themes/originalhouse/functions/images/ico-social-flickr.png new file mode 100644 index 0000000..54e1c02 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-social-flickr.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-social-linkedin.png b/src/wp-content/themes/originalhouse/functions/images/ico-social-linkedin.png new file mode 100644 index 0000000..ecf0a1c Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-social-linkedin.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-social-rss.png b/src/wp-content/themes/originalhouse/functions/images/ico-social-rss.png new file mode 100644 index 0000000..ccd92f3 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-social-rss.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-social-twitter.png b/src/wp-content/themes/originalhouse/functions/images/ico-social-twitter.png new file mode 100644 index 0000000..dac33d3 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-social-twitter.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-social-youtube.png b/src/wp-content/themes/originalhouse/functions/images/ico-social-youtube.png new file mode 100644 index 0000000..8cd302c Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-social-youtube.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-tick.png b/src/wp-content/themes/originalhouse/functions/images/ico-tick.png new file mode 100644 index 0000000..964e9dd Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-tick.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ico-viewpage.png b/src/wp-content/themes/originalhouse/functions/images/ico-viewpage.png new file mode 100644 index 0000000..e1649f5 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ico-viewpage.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/icon-32.png b/src/wp-content/themes/originalhouse/functions/images/icon-32.png new file mode 100644 index 0000000..6a20ad5 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/icon-32.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/info.png b/src/wp-content/themes/originalhouse/functions/images/info.png new file mode 100644 index 0000000..4224de5 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/info.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/layout-off.png b/src/wp-content/themes/originalhouse/functions/images/layout-off.png new file mode 100644 index 0000000..6f1417d Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/layout-off.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/loading-bottom.gif b/src/wp-content/themes/originalhouse/functions/images/loading-bottom.gif new file mode 100644 index 0000000..1528fec Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/loading-bottom.gif differ diff --git a/src/wp-content/themes/originalhouse/functions/images/loading-top.gif b/src/wp-content/themes/originalhouse/functions/images/loading-top.gif new file mode 100644 index 0000000..690da65 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/loading-top.gif differ diff --git a/src/wp-content/themes/originalhouse/functions/images/logo.png b/src/wp-content/themes/originalhouse/functions/images/logo.png new file mode 100644 index 0000000..c12353e Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/logo.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/nicEditorIcons.gif b/src/wp-content/themes/originalhouse/functions/images/nicEditorIcons.gif new file mode 100644 index 0000000..a0fdc7e Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/nicEditorIcons.gif differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-ads.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-ads.png new file mode 100644 index 0000000..463e64b Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-ads.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-audio.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-audio.png new file mode 100644 index 0000000..e8b4d57 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-audio.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-box.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-box.png new file mode 100644 index 0000000..8ec1381 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-box.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-calendar.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-calendar.png new file mode 100644 index 0000000..197359c Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-calendar.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-cart.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-cart.png new file mode 100644 index 0000000..1baf7b9 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-cart.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-connect.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-connect.png new file mode 100644 index 0000000..586833e Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-connect.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-favorite.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-favorite.png new file mode 100644 index 0000000..33b2afe Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-favorite.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-featured.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-featured.png new file mode 100644 index 0000000..3968357 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-featured.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-footer.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-footer.png new file mode 100644 index 0000000..ba24171 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-footer.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-general.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-general.png new file mode 100644 index 0000000..b74083e Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-general.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-header.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-header.png new file mode 100644 index 0000000..fe6a448 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-header.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-homepage.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-homepage.png new file mode 100644 index 0000000..ecbc7c5 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-homepage.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-image.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-image.png new file mode 100644 index 0000000..f0378b6 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-image.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-layout.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-layout.png new file mode 100644 index 0000000..8e19f7c Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-layout.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-listing.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-listing.png new file mode 100644 index 0000000..65d3cc1 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-listing.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-main.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-main.png new file mode 100644 index 0000000..cd472b9 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-main.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-maps.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-maps.png new file mode 100644 index 0000000..d6a7768 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-maps.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-media.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-media.png new file mode 100644 index 0000000..e57308c Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-media.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-misc.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-misc.png new file mode 100644 index 0000000..3e3c124 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-misc.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-nav.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-nav.png new file mode 100644 index 0000000..4858f2e Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-nav.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-portfolio.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-portfolio.png new file mode 100644 index 0000000..6fba286 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-portfolio.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-post.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-post.png new file mode 100644 index 0000000..0679cb4 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-post.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-search.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-search.png new file mode 100644 index 0000000..e1649f5 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-search.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-sidebar.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-sidebar.png new file mode 100644 index 0000000..f24ee24 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-sidebar.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-slider.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-slider.png new file mode 100644 index 0000000..9a2d4d1 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-slider.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-styling.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-styling.png new file mode 100644 index 0000000..612ea98 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-styling.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-tumblog.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-tumblog.png new file mode 100644 index 0000000..5d0512b Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-tumblog.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-typography.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-typography.png new file mode 100644 index 0000000..d191038 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-typography.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/option-icon-upload.png b/src/wp-content/themes/originalhouse/functions/images/option-icon-upload.png new file mode 100644 index 0000000..a655321 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/option-icon-upload.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/quote.png b/src/wp-content/themes/originalhouse/functions/images/quote.png new file mode 100644 index 0000000..a15efb9 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/quote.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/select.png b/src/wp-content/themes/originalhouse/functions/images/select.png new file mode 100644 index 0000000..8be5ec9 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/select.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/shortcode-arrow.png b/src/wp-content/themes/originalhouse/functions/images/shortcode-arrow.png new file mode 100644 index 0000000..c724754 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/shortcode-arrow.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/shortcode-bullet.png b/src/wp-content/themes/originalhouse/functions/images/shortcode-bullet.png new file mode 100644 index 0000000..a2bf71f Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/shortcode-bullet.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/shortcode-green-dot.png b/src/wp-content/themes/originalhouse/functions/images/shortcode-green-dot.png new file mode 100644 index 0000000..92cb0f9 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/shortcode-green-dot.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/shortcode-icon.png b/src/wp-content/themes/originalhouse/functions/images/shortcode-icon.png new file mode 100644 index 0000000..e3cbc08 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/shortcode-icon.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/shortcode-red-x.png b/src/wp-content/themes/originalhouse/functions/images/shortcode-red-x.png new file mode 100644 index 0000000..3286033 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/shortcode-red-x.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/shortcode-star.png b/src/wp-content/themes/originalhouse/functions/images/shortcode-star.png new file mode 100644 index 0000000..33b2afe Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/shortcode-star.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/shortcode-tick.png b/src/wp-content/themes/originalhouse/functions/images/shortcode-tick.png new file mode 100644 index 0000000..386dc90 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/shortcode-tick.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/shortcode-toggle-close.png b/src/wp-content/themes/originalhouse/functions/images/shortcode-toggle-close.png new file mode 100644 index 0000000..2bd976f Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/shortcode-toggle-close.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/shortcode-toggle-open.png b/src/wp-content/themes/originalhouse/functions/images/shortcode-toggle-open.png new file mode 100644 index 0000000..ca2d1fd Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/shortcode-toggle-open.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ui-bg_flat_0_aaaaaa_40x100.png b/src/wp-content/themes/originalhouse/functions/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100644 index 0000000..99be896 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ui-bg_flat_0_aaaaaa_40x100.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ui-bg_flat_75_ffffff_40x100.png b/src/wp-content/themes/originalhouse/functions/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100644 index 0000000..e77a535 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ui-bg_flat_75_ffffff_40x100.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_55_fbf9ee_1x400.png b/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000..6352348 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_55_fbf9ee_1x400.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_65_ffffff_1x400.png b/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000..54b5d35 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_65_ffffff_1x400.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_75_dadada_1x400.png b/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_75_dadada_1x400.png new file mode 100644 index 0000000..20055b8 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_75_dadada_1x400.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_75_e6e6e6_1x400.png b/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100644 index 0000000..efe693b Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_75_e6e6e6_1x400.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_95_fef1ec_1x400.png b/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_95_fef1ec_1x400.png new file mode 100644 index 0000000..c3e50c1 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ui-bg_glass_95_fef1ec_1x400.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/src/wp-content/themes/originalhouse/functions/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100644 index 0000000..7c9fa6c Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ui-icons_222222_256x240.png b/src/wp-content/themes/originalhouse/functions/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000..dcfc3e9 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ui-icons_222222_256x240.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ui-icons_2e83ff_256x240.png b/src/wp-content/themes/originalhouse/functions/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000..e0df77f Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ui-icons_2e83ff_256x240.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ui-icons_454545_256x240.png b/src/wp-content/themes/originalhouse/functions/images/ui-icons_454545_256x240.png new file mode 100644 index 0000000..568ec49 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ui-icons_454545_256x240.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ui-icons_888888_256x240.png b/src/wp-content/themes/originalhouse/functions/images/ui-icons_888888_256x240.png new file mode 100644 index 0000000..a7bafd6 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ui-icons_888888_256x240.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/ui-icons_cd0a0a_256x240.png b/src/wp-content/themes/originalhouse/functions/images/ui-icons_cd0a0a_256x240.png new file mode 100644 index 0000000..fa7a9bb Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/ui-icons_cd0a0a_256x240.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/warning.png b/src/wp-content/themes/originalhouse/functions/images/warning.png new file mode 100644 index 0000000..9a1dd84 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/warning.png differ diff --git a/src/wp-content/themes/originalhouse/functions/images/woo-icon.png b/src/wp-content/themes/originalhouse/functions/images/woo-icon.png new file mode 100644 index 0000000..7628ce3 Binary files /dev/null and b/src/wp-content/themes/originalhouse/functions/images/woo-icon.png differ diff --git a/src/wp-content/themes/originalhouse/functions/js/ajaxupload.js b/src/wp-content/themes/originalhouse/functions/js/ajaxupload.js new file mode 100644 index 0000000..5b4e44d --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/js/ajaxupload.js @@ -0,0 +1,606 @@ +/** + * AJAX Upload + * Project page - http://valums.com/ajax-upload/ + * Copyright (c) 2008 Andris Valums, http://valums.com + * Licensed under the MIT license (http://valums.com/mit-license/) + */ +(function(){ + +var d = document, w = window; + +/** + * Get element by id + */ +function get(element){ + if (typeof element == "string") + element = d.getElementById(element); + return element; +} + +/** + * Attaches event to a dom element + */ +function addEvent(el, type, fn){ + if (w.addEventListener){ + el.addEventListener(type, fn, false); + } else if (w.attachEvent){ + var f = function(){ + fn.call(el, w.event); + }; + el.attachEvent( 'on' + type, f) + } +} + + +/** + * Creates and returns element from html chunk + */ +var toElement = function(){ + var div = d.createElement( 'div' ); + return function(html){ + div.innerHTML = html; + var el = div.childNodes[0]; + div.removeChild(el); + return el; + } +}(); + +function hasClass(ele,cls){ + return ele.className.match(new RegExp( '(\\s|^)'+cls+'(\\s|$)')); +} +function addClass(ele,cls) { + if (!hasClass(ele,cls)) ele.className += " "+cls; +} +function removeClass(ele,cls) { + var reg = new RegExp( '(\\s|^)'+cls+'(\\s|$)' ); + ele.className=ele.className.replace(reg,' ' ); +} + +// getOffset function copied from jQuery lib (http://jquery.com/) +if (document.documentElement["getBoundingClientRect"]){ + // Get Offset using getBoundingClientRect + // http://ejohn.org/blog/getboundingclientrect-is-awesome/ + var getOffset = function(el){ + var box = el.getBoundingClientRect(), + doc = el.ownerDocument, + body = doc.body, + docElem = doc.documentElement, + + // for ie + clientTop = docElem.clientTop || body.clientTop || 0, + clientLeft = docElem.clientLeft || body.clientLeft || 0, + + // In Internet Explorer 7 getBoundingClientRect property is treated as physical, + // while others are logical. Make all logical, like in IE8. + + zoom = 1; + + if (body.getBoundingClientRect) { + var bound = body.getBoundingClientRect(); + zoom = (bound.right - bound.left)/body.clientWidth; + } + + if (zoom > 1){ + clientTop = 0; + clientLeft = 0; + } + + var top = box.top/zoom + (window.pageYOffset || docElem && docElem.scrollTop/zoom || body.scrollTop/zoom) - clientTop, + left = box.left/zoom + (window.pageXOffset|| docElem && docElem.scrollLeft/zoom || body.scrollLeft/zoom) - clientLeft; + + return { + top: top, + left: left + }; + } + +} else { + // Get offset adding all offsets + var getOffset = function(el){ + if (w.jQuery){ + return jQuery(el).offset(); + } + + var top = 0, left = 0; + do { + top += el.offsetTop || 0; + left += el.offsetLeft || 0; + } + while (el = el.offsetParent); + + return { + left: left, + top: top + }; + } +} + +function getBox(el){ + var left, right, top, bottom; + var offset = getOffset(el); + left = offset.left; + top = offset.top; + + right = left + el.offsetWidth; + bottom = top + el.offsetHeight; + + return { + left: left, + right: right, + top: top, + bottom: bottom + }; +} + +/** + * Crossbrowser mouse coordinates + */ +function getMouseCoords(e){ + // pageX/Y is not supported in IE + // http://www.quirksmode.org/dom/w3c_cssom.html + if (!e.pageX && e.clientX){ + // In Internet Explorer 7 some properties (mouse coordinates) are treated as physical, + // while others are logical (offset). + var zoom = 1; + var body = document.body; + + if (body.getBoundingClientRect) { + var bound = body.getBoundingClientRect(); + zoom = (bound.right - bound.left)/body.clientWidth; + } + + return { + x: e.clientX / zoom + d.body.scrollLeft + d.documentElement.scrollLeft, + y: e.clientY / zoom + d.body.scrollTop + d.documentElement.scrollTop + }; + } + + return { + x: e.pageX, + y: e.pageY + }; + +} +/** + * Function generates unique id + */ +var getUID = function(){ + var id = 0; + return function(){ + return 'ValumsAjaxUpload' + id++; + } +}(); + +function fileFromPath(file){ + return file.replace(/.*(\/|\\)/, "" ); +} + +function getExt(file){ + return (/[.]/.exec(file)) ? /[^.]+$/.exec(file.toLowerCase()) : ''; +} + +/** + * Cross-browser way to get xhr object + */ +var getXhr = function(){ + var xhr; + + return function(){ + if (xhr) return xhr; + + if (typeof XMLHttpRequest !== 'undefined') { + xhr = new XMLHttpRequest(); + } else { + var v = [ + "Microsoft.XmlHttp", + "MSXML2.XmlHttp.5.0", + "MSXML2.XmlHttp.4.0", + "MSXML2.XmlHttp.3.0", + "MSXML2.XmlHttp.2.0" + ]; + + for (var i=0; i < v.length; i++){ + try { + xhr = new ActiveXObject(v[i]); + break; + } catch (e){} + } + } + + return xhr; + } +}(); + +// Please use AjaxUpload , Ajax_upload will be removed in the next version +Ajax_upload = AjaxUpload = function(button, options){ + if (button.jquery){ + // jquery object was passed + button = button[0]; + } else if (typeof button == "string" && /^#.*/.test(button)){ + button = button.slice(1); + } + button = get(button); + + this._input = null; + this._button = button; + this._disabled = false; + this._submitting = false; + // Variable changes to true if the button was clicked + // 3 seconds ago (requred to fix Safari on Mac error) + this._justClicked = false; + this._parentDialog = d.body; + + if (window.jQuery && jQuery.ui && jQuery.ui.dialog){ + var parentDialog = jQuery(this._button).parents( '.ui-dialog' ); + if (parentDialog.length){ + this._parentDialog = parentDialog[0]; + } + } + + this._settings = { + // Location of the server-side upload script + action: 'upload.php', + // File upload name + name: 'userfile', + // Additional data to send + data: {}, + // Submit file as soon as it's selected + autoSubmit: true, + // The type of data that you're expecting back from the server. + // Html and xml are detected automatically. + // Only useful when you are using json data as a response. + // Set to "json" in that case. + responseType: false, + // Location of the server-side script that fixes Safari + // hanging problem returning "Connection: close" header + closeConnection: '', + // Class applied to button when mouse is hovered + hoverClass: 'hover', + // When user selects a file, useful with autoSubmit disabled + onChange: function(file, extension){}, + // Callback to fire before file is uploaded + // You can return false to cancel upload + onSubmit: function(file, extension){}, + // Fired when file upload is completed + // WARNING! DO NOT USE "FALSE" STRING AS A RESPONSE! + onComplete: function(file, response) {} + }; + + // Merge the users options with our defaults + for (var i in options) { + this._settings[i] = options[i]; + } + + this._createInput(); + this._rerouteClicks(); +} + +// assigning methods to our class +AjaxUpload.prototype = { + setData : function(data){ + this._settings.data = data; + }, + disable : function(){ + this._disabled = true; + }, + enable : function(){ + this._disabled = false; + }, + // removes instance + destroy : function(){ + if(this._input){ + if(this._input.parentNode){ + this._input.parentNode.removeChild(this._input); + } + this._input = null; + } + }, + /** + * Creates invisible file input above the button + */ + _createInput : function(){ + var self = this; + var input = d.createElement( "input" ); + input.setAttribute( 'type', 'file' ); + input.setAttribute( 'name', this._settings.name); + var styles = { + 'position' : 'absolute' + ,'margin': '-5px 0 0 -175px' + ,'padding': 0 + ,'width': '220px' + ,'height': '30px' + ,'fontSize': '14px' + ,'opacity': 0 + ,'cursor': 'pointer' + ,'display' : 'none' + ,'zIndex' : 2147483583 //Max zIndex supported by Opera 9.0-9.2x + // Strange, I expected 2147483647 + // Doesn't work in IE :( + //,'direction' : 'ltr' + }; + for (var i in styles){ + input.style[i] = styles[i]; + } + + // Make sure that element opacity exists + // (IE uses filter instead) + if ( ! (input.style.opacity === "0")){ + input.style.filter = "alpha(opacity=0)"; + } + + this._parentDialog.appendChild(input); + + addEvent(input, 'change', function(){ + // get filename from input + var file = fileFromPath(this.value); + if(self._settings.onChange.call(self, file, getExt(file)) == false ){ + return; + } + // Submit form when value is changed + if (self._settings.autoSubmit){ + self.submit(); + } + }); + + // Fixing problem with Safari + // The problem is that if you leave input before the file select dialog opens + // it does not upload the file. + // As dialog opens slowly (it is a sheet dialog which takes some time to open) + // there is some time while you can leave the button. + // So we should not change display to none immediately + addEvent(input, 'click', function(){ + self.justClicked = true; + setTimeout(function(){ + // we will wait 3 seconds for dialog to open + self.justClicked = false; + }, 2500); + }); + + this._input = input; + }, + _rerouteClicks : function (){ + var self = this; + + // IE displays 'access denied' error when using this method + // other browsers just ignore click() + // addEvent(this._button, 'click', function(e){ + // self._input.click(); + // }); + + var box, dialogOffset = {top:0, left:0}, over = false; + + addEvent(self._button, 'mouseover', function(e){ + if (!self._input || over) return; + + over = true; + box = getBox(self._button); + + if (self._parentDialog != d.body){ + dialogOffset = getOffset(self._parentDialog); + } + }); + + + // We can't use mouseout on the button, + // because invisible input is over it + addEvent(document, 'mousemove', function(e){ + var input = self._input; + if (!input || !over) return; + + if (self._disabled){ + removeClass(self._button, self._settings.hoverClass); + input.style.display = 'none'; + return; + } + + var c = getMouseCoords(e); + + if ((c.x >= box.left) && (c.x <= box.right) && + (c.y >= box.top) && (c.y <= box.bottom)){ + + input.style.top = c.y - dialogOffset.top + 'px'; + input.style.left = c.x - dialogOffset.left + 'px'; + input.style.display = 'block'; + addClass(self._button, self._settings.hoverClass); + + } else { + // mouse left the button + over = false; + + var check = setInterval(function(){ + // if input was just clicked do not hide it + // to prevent safari bug + + if (self.justClicked){ + return; + } + + if ( !over ){ + input.style.display = 'none'; + } + + clearInterval(check); + + }, 25); + + + removeClass(self._button, self._settings.hoverClass); + } + }); + + }, + /** + * Creates iframe with unique name + */ + _createIframe : function(){ + // unique name + // We cannot use getTime, because it sometimes return + // same value in safari :( + var id = getUID(); + + // Remove ie6 "This page contains both secure and nonsecure items" prompt + // http://tinyurl.com/77w9wh + var iframe = toElement( ' + + +
        + + + + + + +
        + +

        + + +

        + +

        + +

        + +

        /functions/' ); ?>

        + +

        ', '' ); ?>

        + +

        Remember: Every Ninja has a backup plan. Safe or not, always backup your theme before you update it or make changes to it.', 'woothemes' ); ?>

        + + + +

        + +

        + +

        WooThemes Gallery and get one.', 'woothemes' ); ?>

        + + + +
        +
        + + + + + + + + + \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/js/shortcode-generator/editor_plugin.js b/src/wp-content/themes/originalhouse/functions/js/shortcode-generator/editor_plugin.js new file mode 100644 index 0000000..ba29ed2 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/js/shortcode-generator/editor_plugin.js @@ -0,0 +1,192 @@ +function woo_js_querystring(ji) { + + hu = window.location.search.substring(1); + gy = hu.split( "&" ); + for (i=0;i 0 ) { + + selectedText = d.selection.getContent(); + + } // End IF Statement + + wooSelectedShortcodeType = c.identifier; + wooSelectedShortcodeTitle = c.title; + + + jQuery.get(e+"/dialog.php",function(b){ + + jQuery( '#woo-options').addClass( 'shortcode-' + wooSelectedShortcodeType ); + jQuery( '#woo-preview').addClass( 'shortcode-' + wooSelectedShortcodeType ); + + // Skip the popup on certain shortcodes. + + switch ( wooSelectedShortcodeType ) { + + // Highlight + + case 'highlight': + + var a = '[highlight]'+selectedText+'[/highlight]'; + + tinyMCE.activeEditor.execCommand( "mceInsertContent", false, a); + + break; + + // Dropcap + + case 'dropcap': + + var a = '[dropcap]'+selectedText+'[/dropcap]'; + + tinyMCE.activeEditor.execCommand( "mceInsertContent", false, a); + + break; + + default: + + jQuery( "#woo-dialog").remove(); + jQuery( "body").append(b); + jQuery( "#woo-dialog").hide(); + var f=jQuery(window).width(); + b=jQuery(window).height(); + f=7200 ) } ) // Disables the button if text is highlighted in the editor. + }, + + createControl:function(d,e){ + + if(d=="woothemes_shortcodes_button"){ + + d=e.createMenuButton( "woothemes_shortcodes_button",{ + title:"Insert WooThemes Shortcode", + image:icon_url, + icons:false + }); + + var a=this;d.onRenderMenu.add(function(c,b){ + + a.addWithDialog(b,"Button","button" ); + a.addWithDialog(b,"Icon Link","ilink" );b.addSeparator(); + a.addWithDialog(b,"Info Box","box" ); + c=b.addMenu({title:"Typography"}); + a.addWithDialog(c,"Dropcap","dropcap" ); + a.addWithDialog(c,"Quote","quote" ); + a.addWithDialog(c,"Highlight","highlight" ); + a.addWithDialog(c,"Custom Typography","typography" ); + a.addWithDialog(c,"Abbreviation","abbr" ); + a.addWithDialog(b,"Content Toggle","toggle" ); + a.addWithDialog(b,"Related Posts","related" ); + a.addWithDialog(b,"Contact Form","contactform" ); + b.addSeparator(); + a.addWithDialog(b,"Column Layout","column" ); + a.addWithDialog(b,"Tab Layout","tab" ); + b.addSeparator(); + c=b.addMenu({title:"List Generator"}); + a.addWithDialog(c,"Unordered List","unordered_list" ); + a.addWithDialog(c,"Ordered List","ordered_list" ); + c=b.addMenu({title:"Dividers"}); + a.addImmediate(c,"Horizontal Rule","[hr] " ); + a.addImmediate(c,"Divider","[divider] " ); + a.addImmediate(c,"Flat Divider","[divider_flat] " ); + c=b.addMenu({title:"Social Buttons"}); + a.addWithDialog(c,"Social Profile Icon","social_icon" ); + c.addSeparator(); + a.addWithDialog(c,"Twitter","twitter" ); + a.addWithDialog(c,"Tweetmeme","tweetmeme" ); + a.addWithDialog(c,"Digg","digg" ); + a.addWithDialog(c,"Like on Facebook","fblike" ); + a.addWithDialog(c,"Share on Facebook","fbshare" ); + a.addWithDialog(c,"Share on LinkedIn","linkedin_share" ); + a.addWithDialog(c,"Google +1 Button","google_plusone" ); + /*b.add({title:"Visit WooThemes.com","class":"woo-woolink",onclick:function(){tinyMCE.activeEditor.execCommand( "wooVisitWooThemes",false,"")}})*/ }); + return d + + } // End IF Statement + + return null + }, + + addImmediate:function(d,e,a){d.add({title:e,onclick:function(){tinyMCE.activeEditor.execCommand( "mceInsertContent",false,a)}})}, + + addWithDialog:function(d,e,a){d.add({title:e,onclick:function(){tinyMCE.activeEditor.execCommand( "wooOpenDialog",false,{title:e,identifier:a})}})}, + + getInfo:function(){ return{longname:"WooThemes Shortcode Generator",author:"VisualShortcodes.com",authorurl:"http://visualshortcodes.com",infourl:"http://visualshortcodes.com/shortcode-ninja",version:"1.0"} } + } + ); + + tinymce.PluginManager.add( "WooThemesShortcodes",tinymce.plugins.WooThemesShortcodes) + } +)(); diff --git a/src/wp-content/themes/originalhouse/functions/js/shortcode-generator/js/column-control.js b/src/wp-content/themes/originalhouse/functions/js/shortcode-generator/js/column-control.js new file mode 100644 index 0000000..6781d11 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/js/shortcode-generator/js/column-control.js @@ -0,0 +1,95 @@ +function wooColumnMaker(h, i, f) { + this.parentControl = h; + var d = this; + this.width = 250; + this.maxColumns = i; + this.buttonsControl = this.textControl = this.selectControl = null; + this.init = function () { + this.buildSelectControl(); + this.buildColumnButtons(0); + this.buildTextControl() + }; + this.getTotalColumns = function () { + return Number(d.selectControl.find( "option:selected").val()) + }; + this.buildSelectControl = function () { + // .attr( "style", "width:" + this.width + "px") + this.selectControl = jQuery( "").attr( "id", "woo-column-select").addClass(f ? f : "" ); + var a = jQuery( "").attr( "value", "select").attr( "selected", "selected").text( "Number of columns..." ); + a.appendTo(this.selectControl); + for (var b = 2; b <= this.maxColumns; b++) { + a = jQuery( "").attr( "value", b).text(b + " columns" ); + a.appendTo(this.selectControl) + } + this.selectControl.change(function (c) { + (c = d.getTotalColumns()) && d.buildColumnButtons(c) + + // Update the text in the appropriate span tag. + var newText = jQuery(this).children( 'option:selected').text(); + + jQuery(this).parents( '.select_wrapper').find( 'span').text( newText ); + }); + this.parentControl.append(this.selectControl) + }; + this.buildTextControl = function () { + var a = jQuery( "
        ").attr( "style", "position: relative;margin-top: 5px; width: " + this.width + "px;" ); + a.appendTo(this.parentControl); + this.textControl = jQuery( "
         
        ").attr( "id", "woo-column-text").attr( "style", "width: " + (this.width - 50) + "px" ); + a.append(this.textControl); + var b = jQuery( "").attr( "type", "button").attr( "style", "width: 40px;position:absolute;right: 0px;bottom: -2px;font-size: 22px; border:none;background:none;").attr( "value", "\u232b" ); + a.append(b); + b.click(function () { + d.deleteColumnButtonClicked() + }) + }; + this.buildColumnButtons = function (a) { + if (this.buttonsControl) { + this.buttonsControl.html( "" ); + this.textControl.html( " ") + } else { + this.buttonsControl = jQuery( "
        ").attr( "id", "woo-column-buttons" ); + this.parentControl.append(this.buttonsControl); + jQuery( '
        ').appendTo(this.parentControl) + } + for (var b = 1; b < a; b++) { + var c = jQuery( "").attr( "type", "button").attr( "value", b + "/" + a).attr( "name", b).attr( "style", "width:" + Math.floor(this.width * (b / a)) + "px").addClass( "column-button").addClass( "rounded5p" ); + c.click(function (e) { + d.columnButtonClicked(e) + }); + this.buttonsControl.append(c) + } + }; + this.deleteColumnButtonClicked = function () { + var a = jQuery.trim(this.textControl.text()), + b = a.lastIndexOf( "|" ); + a = b != -1 ? jQuery.trim(a.substring(0, b)) : " "; + this.textControl.html(a); + this.updateColumnButtonsState() + }; + this.columnButtonClicked = function (a) { + var b = Number(a.target.name); + if (b) { + a = ""; + for (var c = 0; c < b; c++) a += "x"; + b = jQuery.trim(this.textControl.text()); + if (b.length > 0) a = " | " + a; + this.textControl.text(b + a); + this.updateColumnButtonsState() + } + }; + this.updateColumnButtonsState = function () { + var a = this.getTotalColumns(); + if (a) { + var b = this.countCurrentColumns(), + c = a - b; + this.buttonsControl.find( "input").each(function (e, g) { + e >= c ? jQuery(g).attr( "disabled", "disabled") : jQuery(g).removeAttr( "disabled") + }) + } + }; + this.countCurrentColumns = function () { + for (var a = this.textControl.text(), b = 0, c = 0; c < a.length; c++) a.charAt(c) == "x" && b++; + return b + }; + this.init() +}; \ No newline at end of file diff --git a/src/wp-content/themes/originalhouse/functions/js/shortcode-generator/js/dialog-js.php b/src/wp-content/themes/originalhouse/functions/js/shortcode-generator/js/dialog-js.php new file mode 100644 index 0000000..69d16f1 --- /dev/null +++ b/src/wp-content/themes/originalhouse/functions/js/shortcode-generator/js/dialog-js.php @@ -0,0 +1,754 @@ + $v ) { + + $fonts_whitelist[$k] = str_replace( '|', '\"', $v ); + + } // End FOREACH Loop + + $fonts = join( '|', $fonts_whitelist ); +?> + +var framework_url = ''; + +var shortcode_generator_path = ''; +var shortcode_generator_url = '' + 'js/shortcode-generator/'; + +var wooDialogHelper = { + + needsPreview: false, + setUpButtons: function () { + var a = this; + jQuery( "#woo-btn-cancel").click(function () { + a.closeDialog() + }); + jQuery( "#woo-btn-insert").click(function () { + a.insertAction() + }); + jQuery( "#woo-btn-preview").click(function () { + a.previewAction() + }) + }, + + setUpColourPicker: function () { + + var startingColour = '000000'; + + jQuery( '.woo-marker-colourpicker-control div.colorSelector').each ( function () { + + var colourPicker = jQuery(this).ColorPicker({ + + color: startingColour, + onShow: function (colpkr) { + jQuery(colpkr).fadeIn(500); + return false; + }, + onHide: function (colpkr) { + jQuery(colpkr).fadeOut(500); + + wooDialogHelper.previewAction(); + + return false; + }, + onChange: function (hsb, hex, rgb) { + jQuery(colourPicker).children( 'div').css( 'backgroundColor', '#' + hex); + jQuery(colourPicker).next( 'input').attr( 'value','#' + hex); + } + + }); + + // jQuery(colourPicker).children( 'div').css( 'backgroundColor', '#' + startingColour); + // jQuery(colourPicker).next( 'input').attr( 'value','#' + startingColour); + + + }); + + jQuery( '.colorpicker').css( 'position', 'absolute').css( 'z-index', '9999' ); + + }, + + loadShortcodeDetails: function () { + if (wooSelectedShortcodeType) { + + var a = this; + jQuery.getScript(shortcode_generator_url + "shortcodes/" + wooSelectedShortcodeType + ".js", function () { + a.initializeDialog(); + + // Set the default content to the highlighted text, for certain shortcode types. + switch ( wooSelectedShortcodeType ) { + + case 'box': + case 'ilink': + case 'quote': + case 'button': + case 'abbr': + case 'unordered_list': + case 'ordered_list': + case 'typography': + + jQuery( 'input#woo-value-content').val( selectedText ); + + case 'toggle': + + jQuery( 'textarea#woo-value-content').val( selectedText ); + + break; + + } // End SWITCH Statement + + // Automatic preview generation on load. + a.previewAction(); + }) + + } + + }, + initializeDialog: function () { + + if (typeof wooShortcodeMeta == "undefined") { + jQuery( "#woo-options").append( "

        Error loading details for shortcode: " + wooSelectedShortcodeType + "

        " ); + } else { + if (wooShortcodeMeta.disablePreview) { + jQuery( "#woo-preview").remove(); + jQuery( "#woo-btn-preview").remove() + } + var a = wooShortcodeMeta.attributes, + b = jQuery( "#woo-options-table" ); + + for (var c in a) { + var f = "woo-value-" + a[c].id, + d = a[c].isRequired ? "woo-required" : "", + g = jQuery( '' ); + + var requiredSpan = ''; + + if (a[c].isRequired) { + + requiredSpan = '*'; + + } // End IF Statement + jQuery( "